0

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

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

我只想要$Var1价值,但如果我写d[1,]$Var1or d[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?另外,当输出是级别数时?怎么了?

4

2 回答 2

2

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

于 2013-06-06T15:54:26.127 回答
0

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

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

于 2013-06-05T23:30:02.053 回答