数据集的比例等于值

时间:2015-12-22 17:14:21

标签: r

我有以下数据集名为小行星

3   4   3   3   1   4   1   3   2   3
1   1   4   2   3   3   2   6   1   1
3   3   2   2   2   2   1   3   2   1
6   1   3   2   2   1   2   2   4   2

我需要找出这个数据集的比例为1。

2 个答案:

答案 0 :(得分:4)

假设'小行星'是data.frameunlist,获取table并找到prop.table的比例。

prop.table(table(unlist(asteroids)==1))
#    FALSE  TRUE 
#    0.75  0.25 

或者@Richard Scriven提到,我们可以将data.frame转换为逻辑matrix,并直接在其上使用table作为'矩阵'是具有vector属性的dim

prop.table(table(asteroids == 1)) 

答案 1 :(得分:4)

如果您有特定的值,则可以进行相等比较,然后在生成的逻辑向量上使用> asteroids <- scan(what=numeric()) 1: 3 4 3 3 1 4 1 3 2 3 1 1 4 2 3 3 2 6 1 1 3 3 2 2 2 2 1 3 2 1 6 1 3 2 2 1 2 2 4 2 41: Read 40 items > mean(asteroids == 1) [1] 0.25

mean

这是有效的,因为相等比较将给出TRUE和FALSE,当T / F被数字强制时,它们变为1和0,因此{{1}}最终给出了TRUE的比例。

我认为小行星是一个载体。您没有在问题中指明,但如果它是一种不同类型的结构,您可能需要以某种方式将其强制转换为矢量。