亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用同名的字符變量調用對象

如何使用同名的字符變量調用對象

慕的地10843 2019-07-13 15:16:06
我試圖在R中編寫一個函數,以類似的方式對一些文件進行批處理分析。這些文件屬于類ExpressionSetIllumina..我可以創建一個包含目錄中所有文件的名稱的字符(字符串)向量,并加載其中的每個文件:list = list.files()for (i in list[1]) {       load(i)}這將正確加載文件。> ls()[1] "i"                     "list"                  "SSD.BA.vsn"> class(SSD.BA.vsn)[1]  "ExpressionSetIllumina"attr(,"package")[1] "beadarray"我現在想做的是用i(字符串)"SSD.BA.vsn")分配對象SSD.BA.vsn到一個新的對象數據,以便:>data = SomeFunction(i)>class(data)[1] "ExpressionSetIllumina"attr(,"package")[1] "beadarray"但是,無論我到目前為止嘗試了什么,都只是將數據作為一個字符向量返回,其值與我的值相同,或者根本不起作用。所以我想知道是否有一個函數能幫到我,或者我是否需要用別的方法去做。我將對象或變量的名稱作為字符串存儲在字符向量中。如何使用字符串對象名對象進行操作?
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

我想你想get.

data <- get(i)

也就是說,一旦你開始使用get(以及它的對應方,assign),您通常會得到可怕的不可讀代碼。

對于像您這樣的批處理分析,通常最好將所有數據讀入數據幀列表,然后隨意使用lapply..類似于:

data_files <- list.files()all_vars <- lapply(data_files, function(file){
  vars_loaded <- load(file)
  mget(vars_loaded, parent.frame())})

mget的版本是get它同時檢索多個變量。在這里,它用于檢索調用LOAD加載的所有內容。

現在您有了一個列表:頂級列表與文件相關,較低級別的列表包含從該文件加載的變量。


查看完整回答
反對 回復 2019-07-13
  • 1 回答
  • 0 關注
  • 588 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號