如何获得R中的级别数?

时间:2013-06-05 22:02:39

标签: r

我使用as.data.frame(table(something_to_count)),得到的结果如下:

    Var1  Freq
1     20  2970
2     30  1349
3     40   322
4     50  1009

我只想要$Var1值,但如果我写d[1,]$Var1d[1,1],我总是得到这些东西:

1] 20
305 Levels: 20 30 40 50 60 70 80 90 100 110 120 130 150 160 170 190 200 ... 4120

当我尝试输出该值时,它总是不是20,而是1.并且as.number()也只能返回1.我怎样才能真正得到Var1值而不是获取id排?此外,当输出是水平数字?有什么问题?

2 个答案:

答案 0 :(得分:2)

类“table”对象的as.data.frame方法返回第一列作为因子和(以及任何其他“边缘标签”列),并且仅将最后一列作为数字计数。请参阅?table的帮助页面,然后查看“值”部分。 Tyler建议使用R-FAQ推荐的as.numeric(as.character(.))转换策略是“标准R”。

答案 1 :(得分:0)

这是因为函数table将参数转换为factor(在您的控制台中键入table,您会看到行a <- factor(a, exclude=exclude)

最好的解决方案就是做Tyler建议将table的结果转换为data.frame