【发布时间】:2014-05-05 22:02:19
【问题描述】:
我的 data.frame 是 stateData,当我执行 stateData[order(stateData$"heart failure"),] 时,heart failure 是列名,我将使用 heart failure 列返回我的数据框,该列的值增加如下:
10.0, 10.1, 10.3, 10.7, 15.0, 15.1, 15.9, 8.1, 8.3, 8.9, 9.0, 9.1
详情如下:dput(head(stateData))
heart failure = structure(c(97L, 44L, 25L, 6L, 52L, 57L ), .Label = c("10.0", "7.2", "7.3", "7.4", "7.5", "7.6", "7.7", "7.8", "7.9", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5", "8.6", "8.7", "8.8", "8.9", "9.0", "9.1", "9.2", "9.3", "9.4", "9.5", "9.6", "9.7", "9.8", "9.9", "Not Available"), class = "factor"),
为什么不一直排序呢?
感谢任何帮助!谢谢!
编辑:这是我的解决方案!明白了,谢谢大家的建议!
stateData[,"heart failure"] <- as.numeric(levels(stateData["heart failure"])[stateData[,"heart failure"]])
sortedData <- stateData[order(stateData[,"heart failure"]),]
【问题讨论】:
-
没有看到你的数据,我最好的猜测是你的“心力衰竭”条目是字符。但是,您应该提供一个可重现的示例(提示:提供
dput(head(stateData))的输出或列的子集以制作一个最小的可重现示例)。 -
@beginneR - 这会抛出一个错误,因为解释器会看到
stateData$heart然后吓坏了,因为有一些额外的文本只是闲逛。 -
@user1047260 如您所见,“不可用”值导致数据存储为因子而不是数值。你可以试试
stateData$"heart failure" <- as.numeric(stateData$"heart failure") -
这是一个畸形的因子变量。您需要检查您的数据管理程序。问题可能始于初始数据输入步骤。
标签: r function statistics