y<-list() #?????? STUCK!!!!HERE:overwrite problems
for (i in 1:2^N){
for (j in 1:N){
comstate[1:N,] = comN[i,]#spoint<-comN[i,]
tcomstate=t(comstate)`#need transpose "comstate" to ensure col stands for the component state
tcomstate[j,j]=(1-comN[i,j])#diag(tcomstate)<-(1-comN[i,j])}}
y[[i]] <- which( colSums(t(comN)==tcomstate[j,])==ncol(comN) )}}
y
我陷入了R循环中的覆盖问题。 y
的输出应该是四个值(例如11,7,1,4),但是它只有一个值(4),我尝试了y<-list()
和array()
,但是没有。工作
答案 0 :(得分:0)
由于我无法复制您的代码(不带通行证等),因此我创建了一个带有解决方案的小示例。您应该添加一个空向量(例如temp_vector)来临时存储以下解决方案:
which( colSums(t(comN)==tcomstate[j,])==ncol(comN) )
从现在开始,您实际上仅将最后一个值存储在y中。此外,我认为y应该与j一起位于for循环之外,而应仅在i的for循环内部。
y=list()
N=3
for (i in 1:2^N){
temp_vector=c()
for (j in 1:N){
ad=c(ad,j)}
y[[i]]=ad}