gpt4 book ai didi

r - 使用 r 对每行进行条件计数

转载 作者:行者123 更新时间:2023-12-05 09:34:41 25 4
gpt4 key购买 nike

我尝试了所有解决方案,但问题仍然存在。我有一个很大的 df (20rows*400cols) - 对于每一行,我想计算有多少列的值超过 16。

第一列是因子,其余列是整数。

我的df:

col1 col2 col3 col4
abc 2 16 17
def 4 2 4
geh 50 60 73

期望的输出应该是:

col1 col2 col3 col4 count
abc 2 16 17 1
def 4 2 4 0
geh 50 60 73 3

我试过df$morethan16 <- rowSums(df[,-1] > 16) 但后来我得到 NAcount专栏。

最佳答案

我们可能需要na.rm照顾NA元素为>/</==返回NA哪里有NA元素

df$morethan16 <- rowSums(df[,-1] > 16, na.rm = TRUE)

如果我们仍然得到NA ,检查class的列。仅当列为 numeric 时,上述代码才有效。 。转换为 numeric自动类 type.convert (基于列的值)

df <- type.convert(df, as.is = TRUE)

检查str演讲

str(df)

如果还是不行numeric ,该列中的某些值可能是 character阻止其转换为 numeric 的元素。将列强制为 numericas.numeric 。如果那些是 factor列,做 as.character首先

df[-1] <- lapply(df[-1], function(x) as.numeric(as.character(x)))

关于r - 使用 r 对每行进行条件计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66391990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com