У меня есть фрейм данных, который выглядит следующим образом:
> merged%>%group_by(variable)%>%slice(5)%>%head(15)
# A tibble: 15 x 5
# Groups: variable [15]
site_ID variable value
<chr> <chr> <dbl>
ak074 !NM03.S NA
ak074 !NM05.S NA
ak074 !NM091S NA
ak074 !NM19N. NA
ak116 ?C-5-7W. NA
cana157 001011 NA
cana157 001012 NA
cana157 001021 NA
cana157 001022 NA
cana157 001031 NA
cana157 001032 NA
cana157 001041 NA
cana157 001061 NA
cana157 001062 NA
cana157 001071 0.18
Я хочу определить, сколько не-NA values
существует на variable
, и добавить эту сумму как столбец в исходный фрейм данных. Я продолжаю использовать следующий код:
merged1 <- merged %>% group_by(variable) %>% mutate(k = colSums(!is.na(value)))
Но он выдает ошибку:
Error in base::colSums(x, na.rm = na.rm, dims = dims, ...) :
'x' must be an array of at least two dimensions
Что я делаю не так?
EDIT: Я попробовал просто sum
вот так:
merged1 <- merged %>% group_by(variable) %>% mutate(k = sum(!is.na(value)))
Но он печатает одно и то же значение по всему столбцу, а не по-разному для каждой переменной.