【发布时间】:2019-12-14 10:54:40
【问题描述】:
我正在为 R 编写一个带有 BID 文件格式(脑成像数据结构)的脚本。我需要能够使用通用格式,其中一部分路径代表另一个变量:
subj=VARIABLE
t1s${subj}=read.csv("./sub-${subj}/ses-1/beh/*task-navon*")
这应该可以工作,以便用户可以在我们收集主题编号时导入它们,然后使用脚本将该主题读入 df。然后,我将继续“争吵”数据,继续使用 $subj 编号来执行添加列列出 subj 之类的操作。数字重复与df长度相同的次数(从另一个函数打印到变量等)。
脚本中使用的示例文件:
t1s10001=read.csv("./sub-10001/ses-1/beh/sub-10001_ses-1_task-navon_beh.csv")
t1s10002=read.csv("./sub-10002/ses-1/beh/sub-10002_ses-1_task-navon_beh.csv")
t1s10003=read.csv("./sub-10003/ses-1/beh/sub-10003_ses-1_task-navon_beh.csv")
奖励:: 如果你知道如何做到这一点,那么 subj 可以有多个输入
即:
insert subject numbers:
10001 10002 10003
因此 $subj 数字被保存到 $1 $2 $3 $4 个空格中并自动循环通过导入过程(以及脚本的其余部分)
【问题讨论】:
-
查看
paste、sprintf或glue::glue。也许将它与list.files(..., full.names=TRUE)一起使用。 -
glue 很有趣,但它不会让我在另一个变量名(我可以弄清楚)中使用上述任何内容,因为我正在尝试使用 t1s${subj}。胶水('t1s{subj}') 打印正确的输出,但胶水('t1s{subj}')= read.csv 不起作用。如果我将整行放在胶水中,它会打印正确的输出,但不会运行 read.csv 命令。
-