gpt4 book ai didi

r - 用 NA 进行汇总和减法

转载 作者:行者123 更新时间:2023-12-04 08:46:58 24 4
gpt4 key购买 nike

有人可以帮忙吗?
我有一个数据集

x <- data.frame(A = c(NA, '1', '0', '0'),
B = c('0', '0', '0', NA),
C = c('1', NA, NA, NA))
我需要生成这样的东西(生成两个变量 x5 & x6):
 _ x1 x2 x3 x4  x5 x6
A NA 1 0 0 1 2
B 0 0 0 NA 0 3
C 1 NA NA NA 1 0
谢谢

最佳答案

我注意到您仍在处理此问题的评论。 @ThomasIsCoding 的答案工作得很好,但为了以防万一,这里有一个替代的分步方法,您也可以考虑。
首先,转置您的数据框(我们将调用 df ):

df <- as.data.frame(t(x))
df

V1 V2 V3 V4
A <NA> 1 0 0
B 0 0 0 <NA>
C 1 <NA> <NA> <NA>
现在对于 2 个额外的列,使用 rowSums将“1”和“0”的值相加。您需要 na.rm = TRUE鉴于 NA 的存在在您的数据中。值 1:4代表前四列。
df$V5 <- rowSums(df[,1:4] == "1", na.rm = T)
df$V6 <- rowSums(df[,1:4] == "0", na.rm = T)
df
输出
    V1   V2   V3   V4 V5 V6
A <NA> 1 0 0 1 2
B 0 0 0 <NA> 0 3
C 1 <NA> <NA> <NA> 1 0

关于r - 用 NA 进行汇总和减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64268921/

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