简体   繁体   English

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

[英]Subset set a dataframe column based on first row value in R

I have a 1 row dataframe called ff. 我有一个称为ff的1行数据框。

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

How do I create a single column dataframe (ColContribs) when the a column equals 7 当一列等于7时如何创建单列数据框(ColContribs)

E
7

Like that..? 像那样..? I was using 我在用

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

but i'm getting this error 但我收到此错误

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

Paul 保罗

I tried to create a similar case and it worked as below. 我试图创建一个类似的案例,它的工作原理如下。

library(tidyverse)

a <- 2
e <- 7

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

ColContribs <- lol[,lol[1,]==7] %>% data.frame()
ff <- data.frame(A = 2, B = 5, C = 9, D = 1, E = 7, F = 6)

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

Because it's a single element data frame, you need to specify drop == FALSE 因为它是一个单元素数据帧,所以需要指定drop == FALSE

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM