我正在用 Python 编写数据收集代码。我想生成一个尽可能容易导入 R 的数据框文件。我可以完全控制我的 Python 代码将生成什么,并且我想避免在 R 端进行不必要的数据处理,例如将列转换为因子/数字向量等。此外,如果可能的话,我希望在 R 端尽可能轻松地导入该数据,最好是通过调用带有单个文件名参数的单个函数。
我应该如何将数据存储到文件中以使其成为可能?
最佳答案
您可以使用 http://docs.python.org/2/library/csv.html 将数据写入 CSV Python的csv
模块,那么在R中使用read.csv
就很简单了。(见?read.csv
)
当您使用 read.csv
将数据读入 R 时,除非您另有指定,否则字符串将转换为因子,数字字段将转换为数字。空值将被转换为 NA
。
导入一些数据后,您应该做的第一件事是查看它的 ?str
以确保其中包含的数据类别符合您的期望。很多次我都犯了一个错误,在数字字段中混合了一个字符值,结果得到的是一个因子而不是一个数字。
需要注意的一件事是您可能必须设置自己的 NA 字符串。例如,如果您有“-”、“.”或其他表示空白的此类字符,则需要使用 na.strings
参数(它可以接受字符串向量,即, c("-",".")
) 到 read.csv
。
如果您有日期字段,则需要正确转换它们。如果您不指定日期或时间,R 不一定能识别它们(参见 ?as.Date
)
如果您事先知道每一列将是什么,您可以使用 colClasses
指定类。
通读 ?read.csv
将为您提供更详细的信息。但我概述了一些常见问题。
关于python - R数据框的首选数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14917528/