[问题]常见的重复操作as.numeric用apply可否实现

楼主: empireisme (empireisme)   2020-02-24 18:40:16
如题
在做资料分析的时候 会常遇到需要 as.factor 或是 as.numeric的操作
比如说我的column总共有26行
第一行叫a 第二行叫b 依此类推
如果我想要把第一到第10行都转成numeric
我只好笨笨的
df$a<- as.numeric(df$a)
df$b<- as.numeric(df$b)
df$c<- as.numeric(df$c)
像这样做实在超笨的
有没有可能利用APPLY或是其他方式
让我一次性的把指定的行数 给他一个数列 例如 c(1,4,5,6,7,8)
就自动把指定的行数转成as.numeric 或是as.factor的结果
还是我必须要自己写一个函数呢QQ
作者: andrew43 (讨厌有好心推文后删文者)   2020-02-24 19:12:00
sapply(df[, c(1,4,5,6,7,8)], as.numeric) 再cbind回df之后若想删掉旧的就只是 df[, -1*c(1,4,...)]
作者: TreeMan (好啊...)   2020-02-24 19:37:00
直接df[c(1,4,5,6,7,8)] <- sapply(...) 就不用cbind了
作者: andrew43 (讨厌有好心推文后删文者)   2020-02-24 19:50:00
对。谢谢。
楼主: empireisme (empireisme)   2020-02-25 01:19:00

Links booklink

Contact Us: admin [ a t ] ucptt.com