众所周知,编程是一个工具,就好像工具箱里的锤子斧头一样。你不能仅仅通过看书,就能熟练掌握锤子斧头的使用方法,同样的,编程作为一个工具,也是需要经常拿在手里使用,才能熟练掌握,所以就有了这次的约稿。
我们发现,有很多非工科大类的本科高年级、研究生们,因为科研的需要,会猝不及防地被要求“学一下R”然后分分钟就要你火速上岗,使用这个编程工具干活。
而相对应的是,市面上,要不就是好几百页的书,要不就是2,30个视频的教程,非得拉着你讲来龙去脉,实在拖沓。
结合以上2点,我们给出了新的解决方案:使用ModelWhale工具,开箱即用,直接100题上手R语言,在练中学,学完就成熟练工!
直接运行请点击如下链接:
100题带你上手R语言基本操作https://www.heywhale.com/mw/project/6131fb0bbc40120017e9cec7
第一部分:R的数据结构
参考配套知识点的第一章,想了解更全面的知识点,可以看这👉【R语言知识点详细总结】中的第一章 R的数据结构;
1.定义值为4的一个向量
x <- 4 #也可用=赋值 print(x)
2.查看向量x的数据类型
typeof(x)
3.判断x是否是一个向量
is.vector(x)
4.定义多个元素向量:包含88,5,12,13
y <- c(88,5,12,13)
print(y)
print(typeof(y))
print(is.vector(y))
5.创建一个包含从1到5的向量
# 方法一:c()函数
x1 <- c(1,2,3,4,5)
print(x1)
# 方法二:运算符创建向量
x2 <- 1:5
print(x2)
6.创建一个从12到30步长为3的向量
seq(from = 12, to = 30, by = 3)
7.创建一个从1.1到2长度为10的向量
seq(from=1.1, to=2, length=10)
8.创建包含4个8的向量
# 方法一:reo()函数
rep(8,4)
# 方法二:c()函数
c(8,8,8,8)
9.在索引为4的位置上对y向量添加元素168
y <- c(y[1:3], 168, y[4])
print(y)
10.从索引为4的位置上对y向量添加多个元素(56,24,35,10,5,7)
y <- c(y[1:3], c(56,24,35,10,5,7), y[4])
print(y)
11.获取y向量的长度
length(y)
12.计算c(1,2,4)和c(5,0,-1)的加减乘除后的结果
c(1,2,4) + c(5,0,-1)
c(1,2,4) - c(5,0,-1)
c(1,2,4) * c(5,0,-1)
c(1,2,4) / c(5,0,-1)
13.访问y向量的第2个元素
y[2]
14.访问y向量的第2个到第4个元素
y[2:4]
15.将y向量的第2个到第4个元素修改为(8,14,67)
print(y)
y[2:4] = c(8,14,67)
print(y)
16.访问y向量除了前3个元素外的其他元素
print(y)
print(y[-c(1:3)])
# 或者
b=(1:3)
y[-b]
17.如下列,创建一个矩阵
> X = c(1,1,1)
> Y = c(2,2,2)
> temp = c(14.7,18.5,25.9)
> RH = c(66,73,41)
> wind = c(2.7,8.5,3.6)
> rain = c(0,0,0)
> area = c(0,0,0)
> rank = c(1,2,3)
X = c(1,1,1)
Y = c(2,2,2)
temp = c(14.7,18.5,25.9)
RH = c(66,73,41)
wind = c(2.7,8.5,3.6)
rain = c(0,0,0)
area = c(0,0,0)
rank = c(1,2,3)
ForeData = cbind(X,Y,temp,RH,wind,rain,area,rank)
print(ForeData)
print(is.matrix(ForeData)) # 判断是否为矩阵
18.给出向量c(1,2,3,11,12,13),创建2行3列的矩阵,行命名为(row1, row2), 列命名为(C.1, C.2, C.3)
mdat <- matrix(c(1,2,3,11,12,13), nrow = 2, ncol = 3, byrow = TRUE, dimnames = list(c("row1", "row2"), c("C.1", "C.2", "C.3")))
print(mdat)
19.先创建2行2列的空矩阵,然后按照列的方式依次给每个位置赋值1,2,3,4
x = matrix(nrow = 2, ncol = 2) # 注意:不能写成matrix(2,3)
x[1,1] = 1
x[2,1] = 2
x[1,2] = 3
x[2,2] = 4
print(x)
20.对上述创建的x矩阵的行列进行重命名,行命名为('1', '2'),列命名为('a', 'b')
colnames(x) = c('a','b')
rownames(x) = c('1','2')
print(x)
21.访问ForeData矩阵的第2行第3列的元素
print(ForeData[2,3])
22.访问ForeData矩阵的第1到2行,第1到3列的元素
print(ForeData[1:2, 1:3])
23.访问ForeData矩阵的第1到2行,第1列和第3列的元素(注意与22题的区别)
print(ForeData[1:2, c(1,3)])
24.定义一个4行5列的三维数组,数值为1:60, 行命名为c('R1','R2','R3','R4'),列命名为c('C1','C2','C3','C4','C5'),维度命名为c('T1','T2','T3')
a = c(1:60)
dim1 = c('R1','R2','R3','R4')
dim2 = c('C1','C2','C3','C4','C5')
dim3 = c('T1','T2','T3')
f = array(a,c(4,5,3),dimnames = list(dim1,dim2,dim3))
print(f)
25.根据下面给定的列,创建一个数据框
> X = c(1,1,1)
> Y = c(2,2,2)
> temp = c(14.7,18.5,25.9)
> RH = c(66,73,41)
> wind = c(2.7,8.5,3.6)
> rain = c(0,0,0)
> area = c(0,0,0)
> month = c('aug','aug','aug')
> day = c('fri','fri','fri')
X = c(1,1,1)
Y = c(2,2,2)
temp = c(14.7,18.5,25.9)
RH = c(66,73,41)
wind = c(2.7,8.5,3.6)
rain = c(0,0,0)
area = c(0,0,0)
month = c('aug','aug','aug')
day = c('fri','fri','fri')
ForeDataFrm = data.frame(FX = X,FY = Y, Fmonth = month,Fday = day, Ftemp = temp,FRH = RH,Fwind = wind, Frain = rain, Farea = area)
print(ForeDataFrm)
26.查看ForeDataFrm数据框的列名
names(ForeDa