看板 Statistics 關於我們 聯絡資訊
長久一來在使用 R 時一直受到 rename 變數的困擾 看教學文件上面都寫用 names(object) <- c(....) 即可重新命名 可是當我在使用這個指令的時候 有時候成功,有時候卻失敗 感覺這不像 SAS 在 rename 時那樣直覺 後來也曾經嘗試使用 rename function 和 gregmisc package 裡面的 rename.var 但套用在我自己的實際資料時總是失敗 我猜想可能是因為一些情況我沒注意到所導致..... 我目前的情況是: 我用 list function 製造一些空的 data set 然後用 for loop 來批次進行一些運算 約略如下: a <- list() for(i in 1:5){ a[[i]] <- (一些簡單四則運算) } 然後把 a[[1]]~a[[5]] 合併成一個大的單一 data set: b <- cbind(a[[1]],a[[2]],a[[3]],a[[4]],a[[5]]) 去檢視 b 的資料內容,可發現其變數格都是空的 此時用 names(b) <- c("a1","a2","a3","a4","a5") 照道理應該是會成功的 不過再度去檢視資料時,變數格仍舊是空的 請問是否在使用 names(b) 之前漏了什麼設定? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 152.2.149.157 ※ 編輯: chien533 來自: 152.2.149.157 (11/06 05:17)
clickhere:b 既非list,亦非data.frame. 如何給它 name?? 11/06 06:26
clickhere:這邊的 cbind 之後是 matrix. 11/06 06:27
clickhere:b <- as.data.frame(cbind(...)); names(b) <- ... 11/06 06:28
clickhere:用 str() 可以看物件的 structure. 11/06 06:29
clickhere:你可以用 colnames(b) <- ..., 如果 b 是 matrix. 11/06 06:29
clickhere:names() 只能用在 list 和 data.frame. 11/06 06:30
chien533:成功了,謝謝 11/06 09:43