3-3数据框的子集
x<-data.frame(v1=1:5,v2=6:10,v3=11:15)
x$v3[c(2,4)]<-NA(把v3列的第2个和第4个定义成了缺失值)
x[,2]数据框中的第2列 = x[,"v2"]
x[(x$v1<4&x$v2>=8),]
x[x$v1>2,]
x[which(x$v1>2),](which是给出哪些是真)
数据框的子集
x <- data.frame(v1=1:5,v2=6:10,v3=11:15) #构造数据框
x$v3[c(2,4)] <- NA #使v3的第2.4两位元素定义成缺失值
#数据框可以通过名称索引元素
x[(x$v1<4 & x$v2>=8),] 输出同时满足两个条件的行
?which #查看which函数有什么功能
which(x$v1>2) #输出满足条件的下标
x$v1>2 #输出x的逻辑向量
subset(x,条件) #构件子集的函数,x可为数据框、矩阵等
subset(向量或者数据框名称,构建子集的条件如x$v1>2)
构建数据框的子集
which返回的是下标,逻辑向量返回的是TURE/FALSE
直接输入条件得到的是逻辑向量,在which函数中输入条件得到的是TRUE向量的下标,
构建子集函数是subset,需要输入至少两个参数,第一个参数是向量/矩阵/数据框的名称,第二个参数是条件
x[which(x$v1>2), ]输出结果与x[x$v1>2, ]相同;
x$v1>2返回的是逻辑型,而which(x$v1>2)返回的是逻辑值为真的那些列的下标;
subset(x, 用于构建子集的条件)来构造子集;
x[which(x$v1>2), ]输出结果与x[x$v1>2, ]相同;
x$v1>2返回的是逻辑型,而which(x$v1>2)返回的是逻辑值为真的那些列的下标;
subset(x, 用于构建子集的条件)来构造子集;
数据框子集
> x <- data.frame(v1=1:5, v2=6:10, v3=11:15) > x v1 v2 v3 1 1 6 11 2 2 7 12 3 3 8 13 4 4 9 14 5 5 10 15 > x$v3[c(2,4)] <-NA #把v3列第2行和第4行元素设置成缺失值 > x v1 v2 v3 1 1 6 11 2 2 7 NA 3 3 8 13 4 4 9 NA 5 5 10 15 > x[,2] #按列号提取元素 [1] 6 7 8 9 10 > x[,"v2"] #按名称提取元素 [1] 6 7 8 9 10 > x[(x$v1<4 & x$v2>=8),] #提取满足第1列小于4,第2列大于等于8的所有行的元素 v1 v2 v3 3 3 8 13 > x[x$v1>2,] v1 v2 v3 3 3 8 13 4 4 9 NA 5 5 10 15 > x[which(x$v1>2),] v1 v2 v3 3 3 8 13 4 4 9 NA 5 5 10 15 > which(x$v1>2) [1] 3 4 5 > x$v1>2 [1] FALSE FALSE TRUE TRUE TRUE
which函数:Give the TRUE indices of a logical object, allowing for array indices.
> subset(x, x$v1>2) #构建子集 v1 v2 v3 3 3 8 13 4 4 9 NA 5 5 10 15
数据框的子集
x<-data.frame(A1=1:5,A2=6:10,A3=11:15) x x[(x$A2>7&x$A1>3),]#提取出相应部分的数据 x[(x$A2>7|x$A1>3),] x[x$A1>2,] x[which(x$A1>2),] which(x$A1>2) x$A1>2#输出的是判断函数 subset(x,x$A1>2)#使用subset()函数构建矩阵子集
提取数据框中的元素:
x$v1[c(1,2)]
根据条件提取:& |
which函数:返回值为真的数的下标:x[x$v1>2,]
subsets()
x<-data.frame(v1=1:5, v2=6:10, v3= 11:15)
x$v3[c(2,4) ]<-NA #第三列的第二行第四行设为缺失值
x[,2]
x[, "v2"]
x[ ( x$v1<4 $ x$v2>=8) , ]
x[ x$v1 >2, ] #返回 v1那一行全部大于2的行,全部列
x[ which(x$v1 > 2), ] # 返回值一样
which( x$ v1 >2) #f返回3,4,5. 告诉我们第三行第四行第五行使我们想要的,which返回的是向量中为真的元素值的下标
x$v1>2 # 不套which返回的是真假的逻辑判断向量,3,4,5是真,1,2是假
subset(x,x$v1>2)
数据框的子集:
数据框名$列名[编号或c()] #获取数据框中的元素,或者用于矩阵相同的方法获取元素。
通过"数据框名$列名"来返回对应的向量。
which()返回的是判断语句中为真的对应的下标,而不用which()返回的是TRUE和FALSE构成的向量
subset(向量矩阵数据框名,构建子集的条件) #可对应所有类型的数据
2018-05-31数据框的子集