作者BugEater (无庸)
看板Statistics
标题Re: [程式] R 利用for做变数宣告
时间Fri Oct 18 14:06:34 2013
是啊,在使用了attach()之後,里面的每个单独的element的名字
都被指定成为了object或者是variable(不太清楚具体用那个名词来表述,
希望不会引起误解)
其实你在R里面你敲入y0(或者y1,y2,...y9)不就可以知道那是什麽了吗?
它们应该都是成为dataframe了,自然就可以这样引用
(其实我觉得或许你不必要专门把y0-y9都宣告出来,
不过我也不清楚你最後还要做什麽分析。
你倘若要分别针对不同的年份做分析
在for loop里面每一次都从x里面select出来想要的年份,
然後做相应的处理就好了)
在我做的for loop里面,
每执行一步都是往list.x最後面添加一个新的element,
自然list.x的length都会增加1的
我会建议你学习如何手动调试这些code
例如如果我想看看for loop如何执行
我会进行如下调试:
让i=1
执行list.x[[length(list.x)+1]] <- x[year == ye[1],]
然後手动查一下list.x 变成什麽样
length(list.x)变成什麽样
然後,让i=2
执行list.x[[length(list.x)+1]] <- x[year == ye[2],]
然後手动查一下list.x 变成什麽样
length(list.x)变成什麽样
...
一般做2-3此你就会知道这些codes到底做了什麽
而不用自己乱猜
这是调试(不知道台湾如何叫这个操作)codes的方式
就是要追踪variable的变化
希望能帮到你
※ 引述《robin112 (Robin)》之铭言:
: 那请问如果我想开始使用y0~y9的话是要怎麽使用呢?
: 例如
: boxplot(y0$x~y0$y)
: boxplot(y1$x~y1$y)
: ...
: boxplot(y9$x~y9$y)
: 另外
: list.x为宣告一个空白list
: 在for回圈里面的length(list.x)会随着i跑吗?
: 有点想不透这一行
: 谢谢指教
: ※ 引述《BugEater (无庸)》之铭言:
: : 试试下面这个应该可行
: : z=paste("y",0:9,sep="")
: : ye=c(2000:2009)
: : list.x<-list()
: : for ( i in 1:10 )
: : {
: : list.x[[length(list.x)+1]] <- x[year == ye[i],]
: : }
: : names(list.x)<-z
: : attach(list.x)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 129.93.112.57
1F:→ robin112:谢谢你~~ 10/20 00:30