1
我想根据行总和来对df
列进行子集划分。基于行总和的子集列
df
数据框:
NE001 NE002 NE003 NE004
2 0 0 2
我的预期输出dfo
:
NE001 NE004
2 2
我已经试过dfo <- df[,which(names(df) == colSums(df==2))]
,但不起作用。
有些想法?
我想根据行总和来对df
列进行子集划分。基于行总和的子集列
df
数据框:
NE001 NE002 NE003 NE004
2 0 0 2
我的预期输出dfo
:
NE001 NE004
2 2
我已经试过dfo <- df[,which(names(df) == colSums(df==2))]
,但不起作用。
有些想法?
你只是试图将总和为2的列子集?如果是这样,你就近了。这是一个小数据框的例子。
(d <- data.frame(x = c(2, 0), y = c(1, 2), z = c(1, 1)))
# x y z
# 1 2 1 1
# 2 0 2 1
由于colSums(d) == 2
返回一个逻辑向量,我们可以与该子集,并且是TRUE
将返回
colSums(d) == 2
# x y z
# TRUE FALSE TRUE
d[colSums(d) == 2]
# x z
# 1 2 1
# 2 0 1
列我不太跟随qeustion /逻辑;你正在比较数字和字符串。为什么第一和第四列在这里匹配? –
在这个'df'例子中,我们只有一行。然后到每个柱子的行的总和可以是'0'或'2'。我想对行的总和为'2'的列进行子集划分。 – user3091668