R的assign函數(shù)

今天遇到一個(gè)問題,比如有一堆基因名,genes <- c("ADAMTS19", "AHSG", "APOA1", "APOA2", "APOC3"),我想挨個(gè)處理以后,把每個(gè)基因?qū)?yīng)的結(jié)果放到一個(gè)新的變量里,而這個(gè)新的變量自動(dòng)以該基因或相關(guān)的字符串命名。例如第一個(gè)就叫"gene_ADAMTS19"。

在循環(huán)的時(shí)候,當(dāng)然不能寫for (gene in genes) {gene <- XXXX_function},這樣只能留下最后一次循環(huán)的結(jié)果,前面的都會(huì)被覆蓋掉,或者根本不能直接賦值。

思考這個(gè)問題最核心的部分在于,每個(gè)循環(huán)中的變量名都是不同的,賦值的結(jié)果怎樣才能是變量?這個(gè)時(shí)候需要請(qǐng)出assign(x, value)函數(shù),可以把value的值賦給x;這個(gè)時(shí)候x作為參數(shù),就可以隨意寫了。就像這樣:

for (gene in genes) {
  gene_name <- paste("gene", gene, sep = "_") # 每次的變量名都含有當(dāng)前的"gene"。
  assign(gene_name, XXXX_function(gene, parameter2)) # 將XXXX_function的結(jié)果assign給當(dāng)前的變量名。
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容