如何使用R语言访问数据框某一列的特定元素

先创建一个数据框

df<-data.frame(
  姓名=c('张三','李四','王五','凯熊'),
  性别=c('男','女','男','女'),
  年龄=c(18,16,19,NA)
)
df

运行结果如下:
上述代码运行结果
假设要查看数据框第3列年龄为19的行,应该怎么做呢?这里我们可以尝试用两种方式达到目的:

方式1:

#方式1
names(df)#访问数据框的字段名
df[,3]==19 
na.omit(df[df[,3]==19,])

运行结果如下:
在这里插入图片描述
方式2:

#方式2:使用which进行位置索引

loc<-(which(df[,3]==19))
loc
df[loc,]

运行结果如下:
在这里插入图片描述
番外:思考一下,我们是否就可以用’which’函数进行缺失值位置索引呢?我们可以一起来尝试下:

loc<-(which(df[,3]==NA))
loc
df[loc,]

再来看一下运行结果,可以看到是无效的。
在这里插入图片描述其实,在R.studio中查找缺失值有专门的函数,那就是’is.na()’,我们也可以尝试来感受一下,我们还是以上面建立的数据框作为案例,找出年龄为缺失值的那一行:

#找出某一列的缺失值
is.na(df[,3])
a<-is.na(df[,3])
df[a,]

再看运行结果,我们可以看到缺失行,被找出来了,
在这里插入图片描述

如何查看某一类的某一行数据示例,还是以上数据框为例,倘若要查看年龄这一列的前三行数据(当然数据量足够大时可以多预览几行,我这边只是作为一个用法上的例子)

df<-data.frame(
  姓名=c('张三','李四','王五','凯熊'),
  性别=c('男','女','男','女'),
  年龄=c(18,16,19,NA)
);df

#查看某列某几行的数据
#同df[2:4,"年龄"] 
df[c(2:4),"年龄"] 

代码运行结果如下:
在这里插入图片描述

发布了3 篇原创文章 · 获赞 4 · 访问量 134

猜你喜欢

转载自blog.csdn.net/weixin_44976611/article/details/104250908