我想創建幾個矩陣並將通過函數獲得的值自動分配給特定的行。我給的例子是我到目前爲止已經試過:當矩陣名稱是字符串時如何爲矩陣的行賦值
EXAMPLE1<-matrix(ncol=4, nrow=16)
EXAMPLE2<-matrix(ncol=4, nrow=16)
EXAMPLE3<-matrix(ncol=4, nrow=16)
EXAMPLE4<-matrix(ncol=4, nrow=16)
for(i in 1:16){
for(j in 1:4){
paste0("EXAMPLE",j, "[",i,",","]")<- c(1:4)
}
}
和
for(i in 1:16){
for(j in 1:4){
get(paste0("EXAMPLE",j)[i,]<- c(1:4)
}
}
但「分配的目標擴大到非語言的對象」返回。所以我試了
for(i in 1:16){
for(j in 1:4){
assign(paste0("EXAMPLE",j, "[",i,",","]"), c(1:4))
}
}
這不會返回錯誤,但值不寫入矩陣。
起初矩陣是空
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA
和後一個環路被執行(I = 1)I expext所有實施例的矩陣有1行填充(和第二後 - 第二行填充,所以當循環結束時,我將有示例矩陣充滿數字。)。
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA
的一點是,雖然,我沒怎麼值賦給矩陣行,因爲我通過粘貼功能通過矩陣名稱。如果我想將其名稱作爲字符串,如何將值分配給矩陣中的特定行?任何幫助將是美好的。謝謝
...版... 對不起,我不是很清楚。正如我所提到的,我想寫一個函數的結果(恰好與我的矩陣具有相同的列數)到矩陣行中。每行將從應用於不同觀察的函數得到結果。我想將幾個函數應用於相同的變量,所以我有不同功能的結果(列號不同,名稱不同)的幾個矩陣。我對矩陣進行編號和命名的方式是最容易跟蹤結果並稍後進行比較。上面我給了一個問題的例子,那就是我不能給一行矩陣賦值,因爲我把矩陣的名字作爲字符串(我這樣做是因爲否則會有很多數字要做)。所以總的來說,我希望能夠做到
EXAMPLEj[i,]<-SomeFunctionResult
中,j進1到10或其他一些數字
這就是爲什麼我使用循環和paste0("EXAMPLE", j)
生成矩陣的名字,我表示這對於觀察函數使用和在哪一行放置結果。矩陣已經創建好了,但我沒有辦法將結果傳遞給矩陣的行。
我是R(和編程)的新手,所以有可能我選擇瞭解決這個問題的最糟糕方式,而且這個列表或者數組會更容易使用。謝謝你的回覆。
你能給出你想要的結果嗎? –
你想在列上創建一個帶有'1,2,3,4'的矩陣,並對所有行重複它? –
你不明白你想要做什麼!嘗試顯示你想用一個矩陣做什麼。然後我認爲最好將你的變量放在一個列表中,並使用'do.call'或'lapply'來概括你對單個矩陣做什麼。 – agstudy