r - 计算 R 中列的非零值

标签 r

这个问题在这里已经有了答案:





Add a new column of the sum by group [duplicate]

(1 个回答)


5年前关闭。




假设我有这样的数据框

DF

Id X Y Z 
1  1 5 0
1  2 0 0
1  3 0 5
1  4 9 0
1  5 2 3
1  6 5 0 
2  1 5 0
2  2 4 0
2  3 0 6
2  4 9 6
2  5 2 0
2  6 5 2 
3  1 5 6
3  2 4 0
3  3 6 5
3  4 9 0
3  5 2 0
3  6 5 0

我想计算变量 Z 的非零条目数在特定 Id并在新列中记录该值 Count ,所以新的数据框看起来像

DF1
Id X Y Z Count 
1  1 5 0  2
1  2 4 0  2
1  3 6 5  2
1  4 9 0  2
1  5 2 3  2
1  6 5 0  2 
2  1 5 0  3
2  2 4 0  3
2  3 6 6  3
2  4 9 6  3
2  5 2 0  3
2  6 5 2  3
3  1 5 6  2
3  2 4 0  2
3  3 6 5  2
3  4 9 0  2
3  5 2 0  2
3  6 5 0  2

最佳答案

我们可以使用基数 R ave
计算列 Z 的非零值的数量按 Id 分组

df$Count <- ave(df$Z, df$Id, FUN = function(x) sum(x!=0))
df$Count

#[1] 2 2 2 2 2 2 3 3 3 3 3 3 2 2 2 2 2 2

关于r - 计算 R 中列的非零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40385920/

相关文章:

r - 仅在 Shiny 的应用程序中加载数据时显示框

r - 根据 R 中包含 30 列的数据集按组创建汇总表

R ggplot2 堆叠条形图,y 轴上的百分比,以条形计数

r - 定义 grid.arrange() 所以第三个图在中间?

r - 使 ggplot 完全适合视口(viewport)大小

r - 使用 ggplot2 修改点子集的形状

r - 字典样式替换多个项目

R - 在饼图中放置标签

r - 设置矩阵值与 R 中的向量比较

r - 使用 R 匹配电子邮件格式