【发布时间】:2019-05-10 09:18:06
【问题描述】:
为了使用特定软件进行一些分析,我需要为每个参与者拥有单独的“.dat”文件,每个文件都以参与者编号命名,所有文件都保存在一个目录中。
我尝试使用 R 中的“write.dat”函数(来自“multiplex”包)来执行此操作。
我编写了一个循环,为数据集中的每个参与者输出一个“.dat”文件。我希望将输出的每个文件命名为参与者编号,并将它们全部存储在同一个文件夹中。
## Using write.dat
participants_ID <- unique(newdata$SJNB)
for (i in 1:length(participants_ID)) {
data_list[[i]] <- newdata %>%
filter(SJNB == participants_ID[i])
write.dat(data_list[[i]], paste0("/Filepath/Directory/", participants_ID[i], ".dat"))
}
## Using write_csv this works perfectly:
participants_ID <- unique(newdata$SJNB)
for (i in 1:length(participants_ID)) {
newdata %>%
filter(SJNB == participants_ID[i]) %>%
write_csv(paste0("/Filepath/Directory/", participants_ID[i], ".csv"), append = FALSE)
}
如果我使用“write_csv”函数,这将非常有效(为每个参与者保存 .csv 文件)。但是,如果我使用函数“write.dat”,每个参与者文件都保存在一个单独的文件夹中 - 文件夹名称是参与者编号,文件夹内的文件称为“data_list [[i]]”。为了将所有 data_list 文件放到同一个目录中,我必须重命名它们,这很耗时。
理论上我可以将文件输出为 .csv,然后将它们转换为 .dat,但我只是想知道是否有什么不同的方法可以让 write.dat 函数按照我尝试的方式工作它:)
【问题讨论】:
-
您应该发布包含
write.dat的包。对于不在基本安装中的功能,请始终这样做。 -
谢谢,我现在已将此添加到问题中。
标签: r