我正在使用像
这样的代码 df2<-df[1:3000,]
tail(df2)
df4<-(table(df2)>0)*1
dim(df4)
m.adj<-matrix(0,nc=1:5217,nr=5217)
for(i in 1:5215){
for(j in (i+1):5216){
m.adj[i,j]<-sum(df2[,i]*df2[,j])
}
}
Error in `[<-`(`*tmp*`, i, j, value = NA_integer_) :
subscript out of bounds
它给了我一个错误(上图)我无法找到它的解决方案。非常感谢任何建议。提前谢谢
答案 0 :(得分:0)
此错误告诉您,您尝试进入m.adj
的下标超出此matrix
的大小。
m.adj
的大小为5217 x 1,因为您以这种方式定义它:m.adj<-matrix(0,nc=1:5217,nr=5217)
,而它应该以这种方式定义:
m.adj<-matrix(0,nc=5217,nr=5217)
因为参数nc
必须是整数而不是整数数组。否则它需要数组的第一个元素。这是一个。
因此,您只需要输入代码m.adj<-matrix(0,nc=5217,nr=5217)
即可。