【发布时间】:2021-03-23 03:53:58
【问题描述】:
我正在尝试为我的项目做一些 R 编码。我必须从 R 中的一个目录读取一些 .csv 文件,并且必须将数据框分配为 df_subject1_activity1,我尝试过嵌套循环,但它不起作用。
例如:
我的目录名称是“Test”,我有六个 .csv 文件
subject1activity1.csv, 主题1活动2.csv, 主题1活动3.csv, subject2activity1.csv, 主题2活动2.csv, subject2activity3.csv
现在我想编写代码以在 R 中加载此 .csv 文件并将数据框名称分配为
例如:
subject1activity1 = df_subject1_activity1
subject1activity2 = df_subject1_activity2
....等等使用for循环。
我的预期输出是: df_subject1_activity1 df_subject1_activity2 df_subject1_activity3 df_subject2_activity1 df_subject2_activity2 df_subject2_activity3
我尝试了以下代码: setwd(目录名(getActiveDocumentContext()$path)) 新路径
data_files
for(i in 1:length(data_files)) {
for(j in 1:4){
assign(paste0("df_subj",i,"_activity",j)
read.csv2(paste0(new_path,"/",data_files[i]),sep=",",header=FALSE))
}
}
我没有得到欲望输出。 R新手可以请任何人帮忙。 谢谢
【问题讨论】:
-
R 中的大多数情况下,您不需要使用循环。您能否展示一些您尝试过的示例代码以及您想要得到的结果?为什么你认为你需要嵌套?你可能想看看 dir() 函数。
-
嗨,艾琳,我写了下面的代码: data_files
-
编辑帖子以包含您尝试过的代码。您可以将
assign行更改为assign(paste0("subject",i,"activity",i), read.csv2(....))。尽管不鼓励也不推荐使用assign,但请将数据存储在列表中。
标签: r dataframe loops read.csv nested-for-loop