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