如何从R中的表中提取计数作为向量?

use*_*000 6 r frequency

我正在尝试编写一个函数来提取此表的频率:

 0  1  2  3  4  5  6  7
30 22  9 12  2  5  1 16
Run Code Online (Sandbox Code Playgroud)

所以我想得到c(30, 22, 9, 12, 2, 5, 1, 16).

每次运行函数时表都会更改,所以我需要能够自动从表中提取信息的东西,所以每次都没有写ac()函数.

Dir*_*tel 14

老实说,这不可能更简单.如果你无法解决这个问题,你会遇到很多其他问题:

> set.seed(42)                          ## be reproducible
> X <- sample(1:5, 50, replace=TRUE)    ## our data
> table(X)                              ## our table
X
 1  2  3  4  5 
 7  6  9 10 18 
> str(table(X))                         ## look at structure of object
 'table' int [1:5(1d)] 7 6 9 10 18
 - attr(*, "dimnames")=List of 1
  ..$ X: chr [1:5] "1" "2" "3" "4" ...
> as.numeric(table(X))                  ## and just convert to vector
[1]  7  6  9 10 18
> 
Run Code Online (Sandbox Code Playgroud)

为了完整起见,还有两种获取数据的方法:

> unname(table(X))                      ## jdropping names reduces to the vector
[1]  7  6  9 10 18
> table(X)[]                            ## or simply access it
[1]  7  6  9 10 18
> 
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,通常的做法是通过单击符号("作为问题的原始海报")旁边的符号来"接受"最佳答案. (2认同)