在R中每个强度的N次试验的百分比是正确的

时间:2013-02-12 18:34:35

标签: r percentage

我无法弄清楚如何在V3中找到每个不同数字的正确百分比。 V4显示答案是否正确。 V2是块编号。

V2 V3 V4 

1  4  1      
1 10  1  
1  4  0  
1  4  1  
1 10  0  
2  8  1
2  8  0

感谢您的帮助。我是R的新手,几个小时都在谷歌搜索这个问题了!

2 个答案:

答案 0 :(得分:1)

调用您的数据框DF

tapply(DF$V4 * 100, DF$V3, mean)

将为V3中的每个唯一号码提供正确的百分比。

答案 1 :(得分:0)

使用data.table可能会有所帮助

library(data.table)
mydt <- data.table(DF, key="V2")
mydt[, mean(V4), by=V3]

结果:

   V3        V1
1:  4 0.6666667
2: 10 0.5000000
3:  8 0.5000000

然后,如果你想在美学上清理它:

# you can format it nicely using round
mydt[, round(100*mean(V4),2), by=V3]

#      V3    V1
#   1:  4 66.67
#   2: 10 50.00
#   3:  8 50.00


# you can give the new column a name (wrap it all in a list)
mydt[, list("Percent" = round(100*mean(V4),2)), by=V3]

#     V3   Percent
#   1:  4    66.67
#   2: 10    50.00
#   3:  8    50.00