子集根据R中的第一行值设置数据帧列

时间:2018-03-08 14:40:56

标签: r

我有一个名为ff的行数据帧。

A   B   C   D   E   F
2   5   9   1   7   6

当a列等于7

时,如何创建单列数据框(ColContribs)
E
7

那样......? 我正在使用

ColContribs <- ff[,ff[1,]==7]

但是我收到了这个错误

Error in Ops.data.frame(ff[1, ], ColContribs) : 
‘==’ only defined for equally-sized data frames

2 个答案:

答案 0 :(得分:0)

我试图创建一个类似的案例,它的工作原理如下。

library(tidyverse)

a <- 2
e <- 7

lol <- cbind(a,e) %>% data.frame() 

ColContribs <- lol[,lol[1,]==7] %>% data.frame()

答案 1 :(得分:0)

ff <- data.frame(A = 2, B = 5, C = 9, D = 1, E = 7, F = 6)

ColContribs <- ff[,ff[1,] == 7, drop = FALSE]

因为它是单个元素数据框,所以需要指定drop == FALSE