作者andrew43 (討厭有好心推文後刪文者)
看板R_Language
標題Re: [問題] 如何轉化數字
時間Fri Apr 29 22:15:05 2016
※ 引述《laputaca (離歌笑)》之銘言:
: 各位大大好
: 小弟做了一個逐步迴歸 得到類似這樣的結果
: > result$call
: lm(formula = y ~ `15` + `16` + `17` + `25` + `28` , data = data)
: 想請問我該如何將`15` ,`16` , `17` , `25` , `28` 這些變數轉化成數字呢?
: 也就是得到 15,16,17,25,28
: 我有嘗試硬轉
: 如: as.numeric(names(result$aliased)[-1])
: 結果明顯是不行的XDD
: 請求各位大大幫忙
lm 物件裡的 $call 是一種叫 call 的東西。
它主要的作用是你可以直接 eval(result$call) 來進行原本的 lm(...)。
我並不會精確的解法,所以只是試出一個解法,但不一定穩健。
更穩健的解法有請高手幫忙了。
library(dplyr)
result$call %>% as.character %>% .[2] %>%
as.formula %>% as.character %>% .[3] %>%
strsplit("[` +]") %>% .[[1]] %>% as.numeric %>% na.omit
對了,題外話,colnames 取這樣有時可能會很麻煩。
不知道你是不是有特別的目的?
這些 colnames 的數字和值有什麼關係嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.37.172
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1461939308.A.A4E.html
※ 編輯: andrew43 (122.117.37.172), 04/29/2016 22:27:08
※ 編輯: andrew43 (122.117.37.172), 04/29/2016 22:29:02
推 laputaca: 感激大大,只是當初為了方便把名稱改成數字...= = 04/30 14:18
→ laputaca: colnames(x) <- c(1:10) 這樣 哈哈 04/30 14:18
→ andrew43: 明白。原以為有什麼特別目的。 04/30 18:23