Re: [問題] 如何轉化數字

作者: andrew43 (討厭有好心推文後刪文者)   2016-04-29 22:15:05
※ 引述《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 的數字和值有什麼關係嗎?
作者: laputaca (離歌笑)   2016-04-30 14:18:00
感激大大,只是當初為了方便把名稱改成數字...= =colnames(x) <- c(1:10) 這樣 哈哈
作者: andrew43 (討厭有好心推文後刪文者)   2016-04-30 18:23:00
明白。原以為有什麼特別目的。

Links booklink

Contact Us: admin [ a t ] ucptt.com