提取r

时间:2019-06-15 10:22:57

标签: r

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

例如:

dat1 = [1 2 3              4 5 6]

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

我该怎么办?

2 个答案:

答案 0 :(得分:1)

tidyverse中的过滤器功能将为您做到这一点:

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

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

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

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

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

还有subset()函数

subset(dat1, x == 2)

答案 1 :(得分:0)

我将使用内置函数来过滤数据帧。

dat1 = data.frame(col=c(1,2,3,4,5,6))
dat2 = dat1[dat1$col ==2,]

dat2将作为单个值而不是作为数据帧返回。