我有一个概率表如下:
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)。 任何帮助表示赞赏。
答案 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"