我正在尝试获取this数据集的年龄字段的方法。 我已经清理过了。但是当我跑步时
colMeans(adult_csv[1], na.rm = TRUE)
它抱怨道:
Error in colMeans(adult_csv[1], na.rm = TRUE) : 'x' must be numeric
我尝试了adult_csv[1]
并正确地为我提供了age
功能。
此外,其中没有x
或缺少数据。
答案 0 :(得分:1)
如果您正在使用read.csv,则age列中会有一些字符导致R将整列读取为字符向量而不是数字。要使hist函数起作用,所有数据都必须是类数字。
首先看看:
adult_csv[which(is.na(as.numeric(adult_csv[1]))), 1]
有一堆"?" R在计算直方图时不能使用的值。无论如何,这些应该是NA值,因为"?"只是缺少数据的占位符。当您将此列转换为数字时,R会向您发出警告,表示它无法转换"?"变成一个数字。相反,它将使用NA,但在您的情况下,这可能是一个很好的结果。
使用:
adult_csv[1] <- as.numeric(adult_csv[1])
当您导入数据时,只需花点时间查找此类内容并了解错误消息的含义。堆栈溢出还有很多其他问题可以回答同样的问题。
希望这是有道理的。