R 中将拆分数据帧保存为新文件的问题

Posted

技术标签:

【中文标题】R 中将拆分数据帧保存为新文件的问题【英文标题】:Issues in R with saving split dataframes as new files 【发布时间】:2016-05-17 21:46:28 【问题描述】:

我已经搜索了一些与此相关的已回答问题,但我仍然遇到问题。

我在 R 中加载了 140 万个数据框,其中包含约 56 辆车的 gps 路线数据。我使用split() 函数将我的数据按总线名称解析为更小的块(总线名称示例:'1367/E0007489')。我使用了以下代码行:

dfs <- split(sater001_paired, f=sater001_paired[, "vehicleName"])

sater001_paired 是我的数据框,vehicleName 是我拆分的变量。每个块的行数是不均匀的,因为这些数据是实时捕获的。

我现在面临的问题是尝试将这些块中的每一个保存到它们自己的.csv 文件中。我尝试使用 lapply :

lapply(names(dfs), function(x)write.table(dfs[[x]], file = paste("bus", x, sep = "")))

但是 R 返回错误消息“无法打开连接”。我很可能遗漏了一些东西,因为我对使用 lapply 函数非常生疏。

基于此有什么建议吗?

【问题讨论】:

你的代码对我有用... 我也是(在 linux 机器上).....您是否在此处检查过有关所选答案的建议? ***.com/questions/17156445/… 我浏览了它们,但似乎没有一个能解决我的问题,因为我是这个工作站的管理员,并且仍然重复消息;无法打开连接,以及额外的“不存在这样的文件”消息' 你是说你用于文件名的值有斜线吗?这会导致问题。您应该将斜杠替换为文件名的其他内容。如果您提供reproducible example 会更清楚 事实上,我用作“名称”的 VehicleNames 变量确实有它。这可能是问题所在。我可能会在明天回来解决这个问题并提供更新。 【参考方案1】:

MrFlick 帮助我意识到了我在这里遇到的问题。

所以为了结束这个,我在车辆名称列的每个识别码中间包含了一个正斜杠。由于 Windows 上的 Rstudio 不喜欢这些字符,我没有意识到这一点,因为我最近才从主要使用 Mac OS 切换。

通过在以下代码中使用gsub

sater001_paired$vehicleName <- gsub('/', '-', sater001_paired$vehicleName)

此问题现已解决。再次感谢 MrFlick 的帮助。

【讨论】:

以上是关于R 中将拆分数据帧保存为新文件的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 R 中的条件语句将数据帧拆分为多个数据帧

R:如何在 foreach %dopar% 中拆分数据帧

将存储在列表中的数据帧保存到 R 中的单个文件中

在R中将较大的Dataframe子化为较小的Dataframe?

如何在 R 中将行添加到带有标题的空数据帧? [复制]

Pyspark - 将数据帧写入 2 个不同的 csv 文件