我正在尝试为聚类分析准备数据。这就是为什么我在excel中准备了数据表,标题是"id","name","crime_type","crime_date","gender","age“然后,我把excel转换成.csv格式。然后,我编写以下命令->
>crime <- read.csv("crime_data.csv",header=T)
>crime # I print , and it prints
# now I will do cluster with kmeans()
>kmeans.result <- kmeans(crime,3)
但是,它显示了错误。“错误如下:do_one中的错误(Nmeth):外部函数调用中的NA/NaN/Inf (参数1)此外:警告消息:在kmeans中(犯罪,3):由强制引入的NAs”
我做错了什么.
发布于 2015-01-23 19:14:09
在不知道您的数据是什么样子的情况下,我无法解决您的具体问题,但它可以像尝试xlsx包一样简单。我认为它能更好地处理NaNs。
install.packages(xlsx)
library(xlsx)
yourdata <- read.xlsx("YOURDATASHEET.xlsx", sheetName="THESHEETNAME")
发布于 2015-01-23 19:33:15
看起来你在问两个问题。对于第一种情况,你也可以尝试直接从剪贴板中读取(注意大的表格很难,但到目前为止,我用40k行,30列的效果很好)
d1<-read.table(file="clipboard",sep="\t",header=FALSE,stringsAsFactors=FALSE)
如果要命名列,请将header设置为TRUE。你也可以使用上面的建议直接打开excel表格,但是如果你有非标准表格,这可能是不实际的。
对于第二部分,您可能应该使用sapply函数和/或suppressWarnings()将其转换为数字。
https://stackoverflow.com/questions/28116278
复制