Re: [程式] R 利用for做變數宣告

看板Statistics作者 (無庸)時間10年前 (2013/10/18 14:06), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串4/5 (看更多)
是啊,在使用了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
文章代碼(AID): #1IOC_iiM (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1IOC_iiM (Statistics)