gpt4 book ai didi

r - 如何在 R 中计算属于同一数据帧中处理组合的列中的记录数(即行、单元格)?

转载 作者:行者123 更新时间:2023-12-02 01:36:37 25 4
gpt4 key购买 nike

这是我在这个论坛上的第一个问题,我对 R 的经验有限,所以如果问题在某些方面不清楚或者太基础,我深表歉意。

我有一个名为 values 的数据框,它由一个样本编号列、两个因子变量(H 和 W)和几个数字列(在切割后命名为数字间隔)组成,如下所示:

sample  H   W   (12.95,13]  (13,13.05]  (13.05,13.1]    (13.1,13.15]
130 bg d 0 0 0 0
131 bg d 0 0 0 0
132 bg d 0 0 0 0
133 x i 0 0 0 0
134 x i 0 0 0 0
135 x i 0 0 0 0
136 x i 0 0 0 0
137 x i 0 0 0 0
138 x i 0 0 0 0
139 x i 0 0 0 0
140 x i 0 0 0 0
141 x i 0 35947.65 0 0
142 x i 0 0 0 0
143 x i 0 0 0 0
144 x i 0 0 0 0
145 x i 0 0 0 73709.67
146 x i 0 0 0 0
147 x i 21756.63 0 32362.41 0
148 x i 0 0 0 0
149 x i 0 0 0 0
150 x i 0 0 0 0
151 x i 0 0 0 0
152 x c 0 0 0 0
153 x c 0 0 0 0
154 x c 0 0 0 0
155 x c 0 0 0 32578.03

我需要计算每个治疗组合的每个数字列中有多少行,样本数的值大于 0。我已经尝试了聚合、计数和求和函数,但到目前为止没有成功。

有人可以帮我解决这个问题吗?

谢谢!

最佳答案

使用数据表(假设 df 是您的数据框):

library(data.table)
setDT(df)[`colname`>0, .N, by=list(H, W, sample)]

setDT(df)[`colname`>0, .N, by=list(H, W)]

如果您不关心示例

您应该将 colname 替换为您正在查看的特定列的名称。如果您提供了 reproducible example,这对我来说会更容易检查.

关于r - 如何在 R 中计算属于同一数据帧中处理组合的列中的记录数(即行、单元格)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com