我正在使用名稱非常相似(df1,df2,.. df7)的data.frames。因爲大部分分析都會完成,所以我想盡可能自動化這個過程。我已經設法在讀取文件時使用分配:在函數中使用循環調用具有相似名稱的對象R
for(i in 1:7) {
NameFile <- paste("df",i,"_10/score.out", sep="")
OutFile <- read.table(NameFile, na.string="NA",header=TRUE,sep="\t")
NameVar <- paste("df",i,"_10", sep="")
assign(NameVar, OutFile)
}
但是現在我也想在它們中執行操作/函數。例如子集:
for(i in 1:7) {
Newname <- paste("dfsmall",i,sep="")
dftemp <- subset(df[i], p == 0 & abs(sepscore) > 0.3)
assign(Newname, dftemp)
}
我認爲大部分是正確的,但是如何調用df [i]?也就是說,已經存在的名稱爲df1,df2(..)的對象?有沒有更好的方法來做到這一點?
這裏有一些類似的問題,但沒有一個會適合我的問題。然後再次,我很容易錯過顯而易見的。
謝謝。
這可能對你有用:http://stackoverflow.com/questions/5158830/identify-all-objects-of-given-class-for-further-processing – Chase
有趣的追逐。特別是,我不知道可以使用lapply從對象列表中生成圖(lapply(outList,plot))。再一次,我對lapply感到不舒服。 – fridaymeetssunday