• R语言
  • 为什么变量在循环里不被承认?求解

数据框的向量名为node.i(i从1到10)

程序为

rd<-read.table("fMRI.txt",header=T)

attach(rd)

m<-matrix(0,230,10)

i<-1

while(i<=10)

{m[,i]<-fft(node.i, inverse=TRUE)##作傅里叶变换

i<-i+1}

m

运行出现如下错误

错误于fft(node.i, inverse = TRUE) : 找不到对象'node.i'

回复 第1楼 的 Denes:试试

<br />
m[,i] = fft(get(paste("note", i, sep=".")), inverse=TRUE)<br />
</p>

回复 第1楼 的 Denes:要是note.i 都在数据框X中,直接用:

<br />
m[,i] = fft(X[paste("note", i, sep=".")], inverse=TRUE)<br />
</p>

好像还是不行,我加了attach(rd)语句,还是出现相同错误

回复 第4楼 的 Denes:如果note.i在rd里,用下面这段吧。参考:http://cos.name/cn/topic/108474

<br />
rd = read.table("fMRI.txt",header = T)<br />
m = matrix(0,230,10)<br />
i = 1<br />
while(i <= 10){<br />
  m[,i] = fft(rd[paste("note", i, sep = ".")], inverse=TRUE)##作傅里叶变换<br />
  i = i+1<br />
}<br />
m<br />


最好少用attach
</p>