與文件名的圈我有這樣的文件列表:對於R中
nE_pT_sbj01_e2_2.csv
, nE_pT_sbj02_e2_2.csv
, nE_pT_sbj04_e2_2.csv
, nE_pT_sbj05_e2_2.csv
, nE_pT_sbj09_e2_2.csv
, nE_pT_sbj10_e2_2.csv
正如你所看到的名稱,這些文件與'sbj'(主題編號)的例外是不相同的。
我需要運行for循環,但我想保留主題的原始編號。這個怎麼做? 我假設我需要用保留主題的原始號碼的東西替換length(file)
,但不知道如何去做。
setwd("/path")
file = list.files(pattern="\\.csv$")
for(i in 1:length(file)){
data=read.table(file[i],header=TRUE,sep=",",row.names=NULL)
source("functionE.R")
Output = paste("e_sbj", i, "_e2.Rdata")
save.image(Output)
}
上面的代碼給我作爲輸出:
e_sbj1_e2.Rdata
,e_sbj2_e2.Rdata
,e_sbj3_e2.Rdata
, e_sbj4_e2.Rdata
,e_sbj5_e2.Rdata
,e_sbj6_e2.Rdata
。
相反,我想獲得:
e_sbj01_e2.Rdata
,e_sbj02_e2.Rdata
,e_sbj04_e2.Rdata
, e_sbj05_e2.Rdata
,e_sbj09_e2.Rdata
,e_sbj10_e2.Rdata
。
這是因爲我需要使用循環內的函數。即使有一個功能,它會工作嗎? 'source(「functionE.R」)' – dede
取決於你的函數..如果它沒有接受向量輸入,你可以做一個簡單的函數循環或更好的使用'sapply'或'lapply' – Val