我有一个大数据集 - 23500 行。每行都有双重事件,我需要计算独特的事件。所以我需要为每行计算 30 列中的唯一事件 - 并为每行创建一个带有计数的新列。如何做到这一点最简单的方法?
问问题
253 次
2 回答
1
或者也许这个:
library(dplyr)
library(purrr)
df %>%
mutate(new = pmap_dbl(select(cur_data(), everything()), ~ n_distinct(c(...), na.rm = TRUE)))
于 2021-06-27T23:54:35.037 回答
1
使用apply
withMARGIN = 1
循环遍历行,获取unique
元素并找到length
inbase R
df1$new <- apply(df1, 1, FUN = function(x) length(unique(x[complete.cases(x)])))
或者另一个选项rowwise
在dplyr
library(dplyr)
df1 %>%
rowwise %>%
mutate(new = n_distinct(c_across(everything()), na.rm = TRUE)) %>%
ungroup
于 2021-06-27T23:47:34.817 回答