从R中的prop.table()访问值

时间:2014-10-12 21:40:50

标签: r

我有一个概率表如下:

prop.table(table(h[[10]]))

         1         12         15         16          3          9 
0.20000000 0.30000000 0.10000000 0.13333333 0.20000000 0.06666667 

然后我使用:

将其转换为矩阵
probData <- data.matrix(prop.table(table(h[[10]])))

现在我需要运行以下条件:

if (probData[row,column] > 0.2){

  print(print name of that column eg 1,12,15,16)  

}

probData [row,column]给出概率。问题是我无法从各自的概率访问列名(1,12,15,16)。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

您可以使用矢量化条件直接从prop.table调用名称。

以下是mtcars数据

的示例
(p <- prop.table(table(mtcars[1:10,3])))
#
#  108 140.8 146.7   160 167.6   225   258   360 
#  0.1   0.1   0.1   0.2   0.1   0.1   0.1   0.2 
# 
names(p[p > 0.1])
# [1] "160" "360"

或者在一行中,你可以做到

names((p <- prop.table(table(mtcars[1:10,3])))[p > 0.1])
# [1] "160" "360"