Re: [程式] R 利用for做變數宣告
是啊,在使用了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
→
10/20 00:30, , 1F
10/20 00:30, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 5 篇):