我已经在网上看了两个多小时寻求帮助,并且"玩了#34;有各种参数,似乎无法弄清楚这一点。我有一个数据库,hlc,包括名为" loc。"的名义变量。该变量是一个数字代码,其中每个代码都描述了大学的位置,例如" rural"或者"小城市。"我需要计算每个类别。
我创建了一个表:
table(hlc$loc)
-3 11 12 13 21 22 23 31 32 33 41 42 43
0 9 12 27 14 3 5 1 17 39 39 10 2
然后我将该表放入变量:
loc <- table(hlc$loc)
我可以得到这样的任何一个元素:
loc[1]
-3
0
我想要做的是单独获取每个元素,例如&#34; -3&#34;和&#34; 0&#34;为loc[1]
。我试过这个,但没有成功:
loc[1,1]
Error in `[.default`(loc, 1, 1) : incorrect number of dimensions
似乎loc
表是一个列表,但该列表中的每个元素都以某种方式链接到两个值,bin号和该bin的实例数。如何从表中提取每个单独的值:bin编号和该bin的计数?
答案 0 :(得分:3)
您可以像访问它一样访问它:
names(loc[2])
11
loc[[2]]
9
答案 1 :(得分:2)
其他答案已经告诉您如何访问所需的值。但值得添加一些解释,以便您也了解正在发生的事情。
当你打印loc
时,看起来你会得到两行数字。但这是误导。顶行实际上是一个提供每个元素名称的属性,它由字符串而不是数字组成。我们可以使用str
更清楚地查看结构:
set.seed(123)
x=sample(c(-3,1,4,5,7,11),50,T)
loc=table(x)
str(loc)
# 'table' int [1:6(1d)] 8 9 8 7 7 11
# - attr(*, "dimnames")=List of 1
# ..$ x: chr [1:6] "-3" "1" "4" "5" ...
因为loc是一个命名向量,我们可以使用这些名称来访问元素。但有点小心。请注意,按索引位置及其名称引用元素会产生不同的结果
loc[1]
#-3
# 8
loc["1"]
#1
#9