我有以下数据集名为小行星
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。
答案 0 :(得分:4)
假设'小行星'是data.frame
,unlist
,获取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的比例。
我认为小行星是一个载体。您没有在问题中指明,但如果它是一种不同类型的结构,您可能需要以某种方式将其强制转换为矢量。