r - 如何将稀疏 CSV(每行中的项目数不等)读入 R
问题描述
我的 CSV 包含项目数量不等的行。例如。
Customer1, 01XX, 02XY, 05XYZ, 100XYZ, 03X23
Customer2, 02XX, 012X, 05XYZ
Customer3, 01XX, 02XY, 05XYZ, 012X, 005XZZ, 100XYZ
等等
如何将此类数据从 csv 读取到 R 对象中,以便它可以被 CSV 行中的第一项 Customer_x 引用,以便可以像 df 一样使用它,进行参数化,例如:
myVector <- myCSVdata[CustomerID]
myVector
[1] 02XX, 012X, 05XYZ
编辑:为什么减号?如何纠正?当行不相等时,也许有比读取 csv 更有效的方法。也许是向量列表?我不知道。
EDIT2:我正在尝试自我调节:发现一个针对类似事物措辞不同的问题和一个生成向量列表的答案,也将对此进行试验:https ://stackoverflow.com/a/18922750/3480717
解决方案
我喜欢data.table::fread
用来阅读 txt/csv 文件。
我将您的示例数据复制并粘贴到 csv 文件并导入了它。请注意,我设置header = FALSE
了 ,因为您似乎没有标题。
df <- data.table::fread("Test.csv", header = FALSE)
df
结果
V1 V2 V3 V4 V5 V6 V7
1: Customer1 01XX 02XY 05XYZ 100XYZ 03X23
2: Customer2 02XX 012X 05XYZ
3: Customer3 01XX 02XY 05XYZ 012X 005XZZ 100XYZ