[英]adding multiple columns include na in dataframe in r
假設您的數據框稱為 df
cbind(df, apply(df, 1, function(x){if (all(is.na(x))) {NA} else {sum(x, na.rm = T)}))
請注意,如果您的數據框有其他列,則需要將df
調用限制為僅apply
於您所追求的列。
由於這是您在 SO 上的第一個活動,您應該看一下它,它描述了如何制作最小且可重現的示例。 如果您有更多問題,將來肯定需要這樣做。 通常不接受圖像作為起點。
幸好你的桌子很小。 我把它變成了一個 tribble,然后使用rowSums
來計算你想要的數字。
df <- tibble::tribble(
~x, ~y, ~z,
6000, NA, NA,
NA, NA, NA,
100, 7000, 1000,
0, 0, NA
)
df$sum <- rowSums(df, na.rm = T)
df
#> # A tibble: 4 x 4
#> x y z sum
#> <dbl> <dbl> <dbl> <dbl>
#> 1 6000 NA NA 6000
#> 2 NA NA NA 0
#> 3 100 7000 1000 8100
#> 4 0 0 NA 0
由reprex package (v0.3.0) 於 2020 年 6 月 15 日創建
您可以計算df
中的NA
值。 如果連續沒有非NA
值,您可以將 output 分配為NA
或使用rowSums
計算逐行總和。
ifelse(rowSums(!is.na(df)) == 0, NA, rowSums(df, na.rm = TRUE))
#[1] 6000 NA 10000 8100 0
數據
df <- structure(list(x = c(6000, NA, 10000, 100, 0), y = c(NA, NA,
NA, 7000, 0), z = c(NA, NA, NA, 1000, NA)), class = "data.frame",
row.names = c(NA, -5L))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.