當我嘗試使用下面編寫的for循環填充矩陣時,我不斷收到'下標越界'錯誤。我的數據是類似於下面的虛擬數據集的大型CSV文件:如何從一個for循環中填充矩陣R
Sample k3 Year
1 B92028UUU 1 1990
2 B93001UUU 1 1993
3 B93005UUU 1 1993
4 B93006UUU 1 1993
5 B93010UUU 1 1993
6 B93011UUU 1 1994
7 B93022UUU 1 1994
8 B93035UUU 1 2014
9 B93036UUU 1 2014
10 B95015UUU 2 2013
11 B95016UUU 2 2013
12 B98027UUU 2 1990
13 B05005FUS 2 1990
14 B06006FIS 2 2001
15 B06010MUS 2 2001
16 B05023FUN 2 2001
17 B05024FUN 3 2001
18 B05025FIN 3 2001
19 B05034MMN 3 2002
20 B05037MMS 3 1996
21 B05041MUN 3 1996
22 B06047FUS 3 2007
23 B05048MUS 3 2000
24 B06059FUS 3 2000
25 B05063MUN 3 2000
我的腳本如下:
Year.Matrix = matrix(1:75,nrow=25,byrow=T)
colnames(Year.Matrix)=c("Group 1","Group 2","Group 3")
rownames(Year.Matrix)=1990:2014
for(i in 1:3){
x=subset(data2,k3==i)
for(j in 1990:2014){
y=subset(x,Year==j)
z=nrow(y)
Year.Matrix[j,i]=z
}
}
不知道爲什麼我收到錯誤消息,但來自其他職位我當我嘗試填充我的矩陣時,發現問題出現了,也許是因爲我每個k3級別都沒有每年的條目?
任何評論將有幫助!
在'Year.Matrix [J,I]'j是索引和應爲1至25之間的整數不一九九○年至2014年 – HubertL