如何“计算”数据框中多列中单行中的非空值数量[重复]

2023-12-26

我有一个类似如下的数据框:

Comp1  Comp2  Comp3  Comp4
0.5      0.4    na     0.6
0.6      na     na      0.7
na       0.4    na      1.1

每一行代表一个不同的人。对于每个人,我想计算他们在这些列的特定行中有多少个非空值,并将其保存为新变量

thanks !


如果您正在谈论缺失值R,用大写字母表示NA代替na, 否则,R会将其视为一个字符串,该字符串不为空。

另外,我人为地添加了一些Name在你的df表现得就像每一行代表一个Name,以及人工的Comp5其中包括一些NAs 但不会包含在计算中。

rowSums()顾名思义,计算行的总和。
is.na(df[, 2:4])使得它只计算NA in df从第 2 列到第 4 列。

df <-read.table(header = T, 
                text = 
                  "Name Comp1  Comp2  Comp3  Comp4  Comp5
                A 0.5      0.4    NA     0.6  NA
                B 0.6      NA     NA      0.7 1
                C NA       0.4    NA      1.1 NA")

df$Count_NA <- rowSums(is.na(df[, 2:4]))

Output

  Name Comp1 Comp2 Comp3 Comp4 Comp5 Count_NA
1    A   0.5   0.4    NA   0.6    NA        1
2    B   0.6    NA    NA   0.7     1        2
3    C    NA   0.4    NA   1.1    NA        2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何“计算”数据框中多列中单行中的非空值数量[重复] 的相关文章

随机推荐