R - table()返回重复的因子

时间:2018-06-01 15:51:54

标签: r function

我正在使用FiveThirtyEight的星球大战调查。

$Anakin我已经将0(非常不利)指定为5(非常有利)作为受访者对阿纳金的观点的分类变量。 " N / A"在调查中被分配了#34;"。 (在MS Excel上执行了该步骤)

$Startrek包含受访者是否看过“星际迷航”。

starwars <- read.csv2("starsurvey.csv", header = TRUE, stringsAsFactors = FALSE)
as.factor(starwars$Anakin)
as.factor(starwars$Startrek)
tbl <- table(starwars$Anakin, starwars$Startrek)

table()函数返回:

       No Yes
1   0  20  19
2   2  31  50
3   0  68  67
4   1 140 128
5   5 101 139

我想知道为什么函数会为$Anakin中的因子返回0,2,0,1,5,因为它包含:

starwars$Anakin
[1] 5    <NA> 4    5    2    5    4    3    4    5    <NA> <NA> 4    4           
[15] 4    2    3    5    5    5    4    3    3    2    5    <NA> 4    4   
[29] 1    1    3    5    2    <NA> <NA> 5    5    4    4    4    3    4   
[43] 4    4    4    4    <NA> 2    3    <NA> 4    4    5    4    4    <NA>

1 个答案:

答案 0 :(得分:0)

此处的表输出令人困惑,因为您的因子级别(1到5)看起来像行号,并且对Startrek变量有一些空白("")响应,这使得它看起来像数据只是在No和Yes列下。

因此,这里的数据是一个5乘3的表,其中行代表Anakin(1到5)的分数,代表3种类型的Startrek的响应({{1 }},""No)。

请注意,如果Yes中有NA,则此数据会在表格中加入。要计算这些数量,请使用Anakin

addNA