0
我想將這組命令轉換爲循環。如何將一組命令轉換爲R中的循環
sbj05_GD = load("ep_sbj05_GD.Rdata")
sbj06_GD = load("ep_sbj06_GD.Rdata")
sbj08_GD = load("ep_sbj08_GD.Rdata")
sbj09_GD = load("ep_sbj09_GD.Rdata")
sbj05_max <-max(sbj05_GD$A)
sbj06_max <-max(sbj06_GD$A)
sbj08_max <-max(sbj08_GD$A)
sbj09_max <-max(sbj09_GD$A)
max_sum <- rbind(sbj05_max,sbj06_max,sbj08_max,sbj09_max)
max_sum <-as.data.frame(max_sum)
colnames(max_sum) <- c("max")
max_sum$sbj <- c("sbj05","sbj06","sbj08","sbj09")
write.table(max_sum, file = "Ep_max_sum.txt",sep="\t",row.names=FALSE)
我開始這樣的嘗試,這是不行的,但我什至不知道我怎麼能rbind在一個循環中的文件。
file=list.files("path/", pattern="*.Rdata", full.names="TRUE")
for (i in 1:file){
data=load(file[i])
data_max[i] <-max(file[i]$A)
}
我不是很熟悉的循環,所以我會很感激,如果你可以建議如何處理,如果一個for循環是要走的路。
這可能不起作用。 R'load'命令不一定會返回適合分配給名稱的值。爲'load'返回的結果只是已加載的項目的_names_。不是它們的值。如果你想保存一個文件並且賦值給一個名字,那麼它必須用'saveRDS'保存。 –
你說得對。 'load()'就足夠了,沒有賦值給'temp'。編輯。 – Noah
很高興認識到這一點。但是你聲稱你的代碼可以在任何情況下工作也是錯誤的。 –