【发布时间】:2014-10-07 11:51:43
【问题描述】:
我对 R 非常陌生(从 SPSS 转移过来)。我在运行 Mavericks 的 Mac 上使用 RStudio。请用 2 个音节的话回答我的问题,因为这是我第一次真正尝试这样的事情。我已经完成了一些基本教程,并且可以对所有示例数据进行处理。
我有一个包含 64,000 行和大约 20 列的数据集。我想获得变量“hold_time”的平均值,但无论我尝试什么,我都会得到 NA 或 NA 以及一条警告消息
我已经尝试了以下所有方法:
> summary(data_Apr_Jun$hold_time,na.rm=TRUE)
5 6 7 4 8 2 1 3 10
9596 9191 3192 1346 1145 977 940 655 534
11 9 12 0 13 15 14 16 17
490 444 249 128 106 86 73 68 40
98 118 121 128 125 97 101 188 86
31 29 28 28 27 27 26 26 26
102 105 113 81 119 139 127 134 152
25 25 25 25 24 24 23 23 23
18 69 96 106 110 111 120 190 76
23 23 23 22 22 22 22 22 22
82 132 135 156 166 94 115 116 117
22 21 21 21 21 21 20 20 20
142 153 165 19 93 100 104 112 126
20 20 20 20 20 19 19 19 19
131 138 143 157 177 189 61 87 103
19 19 19 19 19 19 19 19 18
108 148 176 212 54 56 64 74 79
18 18 18 18 18 18 18 18 18
99 107 129 163 168 171 178 226 236
18 17 17 17 17 17 17 17 17
59 71 78 95 114 122 123 130 (Other)
17 17 17 17 16 16 16 16 2739
NA's
29807
> mean(as.numeric(data_Apr_Jun$hold_time,NA.rm=TRUE))
[1] NA
> data_Apr_Jun$hold_time[data_Apr_Jun$hold_time=="NA"]<-0
> mean(as.numeric(data_Apr_Jun$hold_time))
[1] NA
> mean(data_Apr_Jun$hold_time)
[1] NA
Warning message:
In mean.default(data_Apr_Jun$hold_time) :
argument is not numeric or logical: returning NA
> mean(as.numeric(data_Apr_Jun$hold_time,na.rm=TRUE))
[1] NA
> colMeans(data_Apr_Jun$hold_time)
Error in colMeans(data_Apr_Jun$hold_time) :
'x' must be an array of at least two dimensions
> colMeans(data_Apr_Jun)
Error in colMeans(data_Apr_Jun) : 'x' must be numeric
> mean(data_Apr_Jun$hold_time,na.omit)
[1] NA
Warning message:
In mean.default(data_Apr_Jun$hold_time, na.omit) :
argument is not numeric or logical: returning NA
因此,即使我删除了 NA,它们似乎也没有被删除。我很困惑。
【问题讨论】:
-
mean 有一个参数 na.rm。它没有参数 NA.rm。 R 区分大小写。
-
也许您应该在强制转换为数字或任何其他形式之前查看数据的结构。 str(data_Apr_Jun$hold_time) 的输出会有所帮助。顺便说一句,在第一次通话中应该是 na.rm 而不是 NA.rm。
-
尝试修复问题标题并更清楚您要达到的目标
-
parameter、argument、sensitive、coercing 都有 > 2 个音节,alex brown 和 won782