【发布时间】:2015-03-25 10:30:42
【问题描述】:
我正在尝试根据有序变量(范围 0 到 10)创建一些描述性统计数据和直方图。我使用了以下命令:
class(data$var1)
describe(as.numeric(data$var1))
但是 R 从 1 开始,将“拒绝”值计算为另一个数值。
如何让 R 从 0 开始并忽略“拒绝”值?
谢谢。
编辑:我可以让 R 使用以下命令忽略“拒绝”值:
is.na (data$var1[data$var1=="Refusal"]) <- TRUE
但是当我搜索关于 0 值的可能解决方案时,我只找到有关如何忽略/删除 0 值的建议...
Edit2:这是我的数据样本,
[1] 5 8 8 8 Refusal 10 8 Refusal 7
[10] 7 8 7 8 8 8 8 8 8
[19] 8 0 9 Refusal 6 10 7 7 9
如您所见,范围是从 0 到 10,但使用 R 库“psych”和命令“describe”,输出范围始终为 1 到 11,这会使整个统计数据无效。
> class(data$var1)
[1] "factor"
> describe(as.numeric(data$var1), na.rm=TRUE)
vars n mean sd median trimmed mad min max range skew kurtosis se
1 1 1115 8.38 1.94 9 8.57 1.48 1 11 10 -1.06 1.42 0.06
抱歉正在进行编辑,但我是 stackoverflow.com 的新手
【问题讨论】:
-
抱歉,我漏掉了一个括号:
class(data$var1) describe(as.numeric(data$var1)) -
谢谢你,docendo discimus。 :-)
-
它的重现性不太好是吗?
-
您所包含的代码的输出是什么?如果第一行是
"factor",您可以尝试describe(as.numeric(as.character(data$var1)),以便从因子到数字的转换按您的预期进行。