首页 > 解决方案 > 在r中提取具有特定列值的数据

问题描述

我在 r 中有一个数据框 dat1,我想为来自 dat1 的所有数据创建另一个数据框,其中 column2 具有特定值。

例如:

dat1 = [ 1 2 3 4 5 6 ]

dat2 应该包含 dat1$column2 == 2 的所有数据。

我怎么能这样做?

标签: r

解决方案


tidyverse 中的过滤器功能将为您执行此操作:

# setup 
library(tidyverse)
dat1 <- data.frame('x' = c(1:5), 'y' = rnorm(5,0,1))

# solution
dat2 <- dat1 %>% filter(x == 2)

请注意,这%>%是一个“管道”,告诉它dat1输入filter()函数,取dat1wherex为 2 的行,并将它们存储为dat2

还有一些其他解决方案,例如索引

dat1[dat1[,'x'] == 2,]

subset()功能

subset(dat1, x == 2)

推荐阅读