我有一个数据框如下:
坚定 | 年 | c1 | c2 | cn |
---|---|---|---|---|
1 | 2000 | 不适用 | 4 | 文字 |
1 | 2001 | 3 | 2 | 文字 |
1 | 2002 | 不适用 | 不适用 | 不适用 |
1 | 2003 | 2 | 3 | 不适用 |
1 | 2004年 | 不适用 | 8 | 不适用 |
我想要一个新列来计算一个组(firmid、年份)的非缺失数据列的数量,以便我可以获得以下结果。在我的真实数据集中,我有 400 多个列和许多年来的许多公司。
坚定 | 年 | c1 | c2 | cn | 非缺失列 |
---|---|---|---|---|---|
1 | 2000 | 不适用 | 4 | 文字 | 4 |
1 | 2001 | 3 | 2 | 文字 | 5 |
1 | 2002 | 不适用 | 不适用 | 不适用 | 2 |
1 | 2003 | 2 | 3 | 不适用 | 4 |
1 | 2004年 | 不适用 | 8 | 不适用 | 3 |
我失败的尝试:
dataframe %>%
group_by(firmid, year) %>%
mutate(non-missing-columns = sum(!is.na(.)))
一行:
df |> dplyr::mutate(nonmissingcolumns = rowSums(!is.na(across(everything()))))