0

我正在尝试将 Excel 创建的 .csv 文件读入 R。我尝试了许多建议,但没有一个完全适合我。

以下是 .csv 文件中数据的外观,第一行是标题:

recipe_type,State,Successes,Attempts
paper,alabama ,586,3379

这是我导入 .csv 文件的 R 命令:

options( StringsAsFactors=F )
results<-read.csv("recipe results.csv", header=TRUE, as.is=T)
results$Successes
[1] "586" 

Successes 被视为字符数据。

而且我也尝试过这种方法: results[,3]<- as.numeric(levels(results$Successes)) 但获取此列中每个值的排名,而不是实际值,另一篇文章说会发生这种情况。

关于如何将此数据视为数字的任何想法,以便我可以获得适当的 stat.desc 统计信息?

谢谢

4

3 回答 3

3

将因子直接转换为数字会产生因子水平,而与值本身无关。您需要先转换为字符:

results[,3] <- as.numeric(as.character(results$Successes))

等效地(请参阅 参考资料?factor),您可以将级别转换为数字,并通过因子的(隐式)数字转换来索引。

as.numeric(levels(results$Successes))[results$Successes]
于 2013-06-08T15:48:46.617 回答
1

意识到这是一个老问题,但今天遇到类似问题时遇到了它。我最终发现(在我的情况下)问题是由 Excel 的“数字”格式引起的,其值中包含一个逗号 (,),因此:1,000 而不是 1000。一旦我删除了逗号,我就能够从没有 NA 值的因子进行转换。

df$col1 <-as.numeric(gsub(",","",df$col1))

以防万一有人遇到类似的事情。

于 2018-07-09T05:55:00.110 回答
0

我发现这个包最有帮助,除了警告之外没有任何问题:gdata。

此 URL 包含有关包的信息:http ://www.r-tutor.com/r-introduction/data-frame/data-import

我确实将我的电子表格从 .xlsx 转换为它似乎期望的 .xls。我没有测试 .xlsx 是否可以工作。

于 2013-06-10T01:57:25.883 回答