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

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

用R中的“ paste”創建一個變量名?

用R中的“ paste”創建一個變量名?

炎炎設計 2019-11-11 15:38:24
見下文: paste("perf.a", "1", sep="")    [1] "perf.a1"如果我要給賦值perf.a1怎么辦?我嘗試了as.name,as.symbol等等,但無濟于事:as.name(paste("perf.a", "1", sep="")) = 5Error in as.name(paste("perf.a", "1", sep = "")) = 5 :   target of assignment expands to non-language objectas.symbol(paste("perf.a", "1", sep="")) = 5Error in as.symbol(paste("perf.a", "1", sep = "")) = 5 :   target of assignment expands to non-language objectnoquote(paste("perf.a", "1", sep="")) = 5Error in noquote(paste("perf.a", "1", sep = "")) = 5 :   target of assignment expands to non-language object
查看完整描述

3 回答

?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

您可以使用assign(doc)更改perf.a1的值:


> assign(paste("perf.a", "1", sep=""),5)

> perf.a1

[1] 5


查看完整回答
反對 回復 2019-11-11
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

請參閱?assign。


> assign(paste("tra.", 1, sep = ""), 5)

> tra.1

  [1] 5


查看完整回答
反對 回復 2019-11-11
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

在我的情況下,我創建的符號(Tax1,Tax2等)已經具有值,但是我想使用循環并將符號分配給另一個變量。因此,以上兩個答案給了我實現此目標的方法。這可能有助于回答您的問題,因為可以在以后隨時進行值的分配。


output=NULL

for(i in 1:8){

   Tax=eval(as.symbol(paste("Tax",i,sep="")))

   L_Data1=L_Data_all[which(L_Data_all$Taxon==Tax[1] | L_Data_all$Taxon==Tax[2] | L_Data_all$Taxon==Tax[3] | L_Data_all$Taxon==Tax[4] | L_Data_all$Taxon==Tax[5]),]

   L_Data=L_Data1$Length[which(L_Data1$Station==Plant[1] | L_Data1$Station==Plant[2])]

   h=hist(L_Data,breaks=breaks,plot=FALSE)

   output=cbind(output,h$counts)

}


查看完整回答
反對 回復 2019-11-11
  • 3 回答
  • 0 關注
  • 1644 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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