簡體   English   中英

在操作中使用字符串作為對象名稱

[英]Use character string as object name in operations

我一般對R和R編程都缺乏經驗,所以如果我的代碼不好,請原諒我。

我要解決的問題是將許多單獨的csv文件加載到R中,整理一下輸入內容,對所得對象執行一些操作,並最終繪制出這些操作的結果。 我嘗試解決的方法是使用字符串向量,該向量回顯對象名稱以調用有問題的對象。 這是行不通的。

下面是一些代碼,這些代碼在加載數據后不起作用。

files=list.files('foldername',pattern="*.csv",full.names=F) #Make a list of files
filen=str_extract(files, '.*(?=\\.csv)') #Pretty the file names for object names

for (i in 1:length(files)){
   assign(paste(filen[i]),read.csv(paste(files[i]))) #Load the files
   as.object(filen[i])=as.object(filen[i])[,order(names(ATCN_21))] # pseudocode line
   as.object(filen[i])=operation(as.object(filen[i]),parameter 1, parameter 2, etc) #More pseudocode
}

其中的操作可以是繪圖命令,也可以是任意功能,例如rbind,colnames,無論您喜歡什么。

換句話說: 我需要某種方法在向量filen中使用字符串i ,就像它是對象名稱一樣。 我怎樣才能做到這一點?

解決方案:列表。 (謝謝皮埃爾)

files=list.files('foldername',pattern="\\.csv$",full.names=F) #Make a list of files
filen=str_extract(files, '.*(?=\\.csv)') #Pretty the file names for object names

list=lst()


for (i in 1:length(files)){
   lst[[i]]=read.csv(paste(files[i]))#Load the files
   names(lst)[i]<-filen[i] #Name the entries
   lst[[i]]=lst[[i]][,order(names(lst[[i]]))]

   lst[[i]]=operation(foo)
}

感謝您幫助無知的n00b。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM