从表中提取对象

时间:2013-11-27 23:01:55

标签: r vector extract

我使用table(vector)来查看vector中每个元素的频率。但现在我想使用一个数字的频率。我尝试过以下代码,但它不起作用:

table(vector)[2]

然后我得到例如

7
2

因此数字7在向量中出现2次。但我想使用“2”,我该怎么做?

西尔克

2 个答案:

答案 0 :(得分:2)

tt <- table(vector)

要获得频率“7”(列名称),您可以这样做:

tt[["7"]] 

您还可以将表格转换为data.frame:

dat <- as.data.frame(tt)
dat[dat$Var1==7]$Freq

答案 1 :(得分:0)

假设我们有以下

vector <- sample(c(5:10),100,replace=T)
> table(vector)
vector
 5  6  7  8  9 10 
22 17 20 14 10 17 

第一行只是名称,底行是值,所以如果你这样做

x <- table(vector)
str(x)
 'table' int [1:6(1d)] 22 17 20 14 10 17
 - attr(*, "dimnames")=List of 1
  ..$ vector: chr [1:6] "5" "6" "7" "8" ...

您可以在带有名称的矢量中获取实际频率值。你为什么不能用这个?你能举例说明你所面临的问题吗?

相关问题