我正在尝试为集群分析准备数据。这就是我在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(arg 1) 另外:警告信息: 在kmeans(犯罪,3):由强制引入的NAs“
我在这里做错了什么......
答案 0 :(得分:0)
如果不知道您的数据是什么样的话,我无法说出您的具体问题,但这可能就像尝试使用xlsx包一样简单。我认为它更好地处理NaN
install.packages(xlsx)
library(xlsx)
yourdata <- read.xlsx("YOURDATASHEET.xlsx", sheetName="THESHEETNAME")
答案 1 :(得分:0)
好像你在问两个问题。为了第一;你也可以尝试直接从剪贴板上阅读(谨防大表强硬,但到目前为止,我有40k行,30 col的良好结果)
d1<-read.table(file="clipboard",sep="\t",header=FALSE,stringsAsFactors=FALSE)
如果要为列命名,请将标头设置为TRUE。您也可以使用上面建议的方法直接打开Excel工作表,但如果您有非标准表,这可能不实用。
对于第二部分,您可能应该使用sapply函数转换为数字,或者使用suppressWarnings()。