我正在尝试编写一个函数来提取该表的频率:
0 1 2 3 4 5 6 7
30 22 9 12 2 5 1 16
所以我想得到c(30, 22, 9, 12, 2, 5, 1, 16)
。
每次运行函数时表都会更改,所以我需要能够自动从表中提取信息的东西,所以我每次都没有编写c()函数。
答案 0 :(得分: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
>
为了完整起见,还有两种获取数据的方法:
> 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
>