R中的行总和(带NA和s)
我有一个data.frame“data”和列“var1”。。。“var3”。现在,我想从三个var列中计算一个新列“sum”。不幸的是,在每一行中,三个变量中只有一个具有值:R中的行总和(带NA和s),r,sum,summarize,R,Sum,Summarize,我有一个data.frame“data”和列“var1”。。。“var3”。现在,我想从三个var列中计算一个新列“sum”。不幸的是,在每一行中,三个变量中只有一个具有值: var1 var2 var3 sum NA NA 300 300 20 NA NA 20 10 NA NA 10 为了计算求和列,我必须先用0替换NA,还是有更优雅的方法?谢谢大家! 我们可以使用行和 df1$sum <- rowSums(df1[gre
var1 var2 var3 sum
NA NA 300 300
20 NA NA 20
10 NA NA 10
为了计算求和列,我必须先用0替换NA,还是有更优雅的方法?谢谢大家! 我们可以使用
行和
df1$sum <- rowSums(df1[grep("^var\\d+", names(df1))], na.rm = TRUE)
我们可以使用
rowSums
df1$sum <- rowSums(df1[grep("^var\\d+", names(df1))], na.rm = TRUE)
使用
data.table
,您还可以尝试:
df <- data.frame(var1 = c(NA, 20, 10),
var2 = c(NA, NA, NA),
var3 = c(300, NA, NA))
library(data.table)
dt <- as.data.table(df)
dt[, sum := rowSums(.SD, na.rm = TRUE), .SDcols = c("var1", "var2", "var3")]
df使用data.table
,您还可以尝试:
df <- data.frame(var1 = c(NA, 20, 10),
var2 = c(NA, NA, NA),
var3 = c(300, NA, NA))
library(data.table)
dt <- as.data.table(df)
dt[, sum := rowSums(.SD, na.rm = TRUE), .SDcols = c("var1", "var2", "var3")]
df谢谢!这就是我要找的!谢谢这就是我要找的!