[問題]常見的重複操作as.numeric用apply可否實現

看板R_Language作者 (empireisme)時間4年前 (2020/02/24 18:40), 編輯推噓1(104)
留言5則, 3人參與, 4年前最新討論串1/2 (看更多)
如題 在做資料分析的時候 會常遇到需要 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.91.75.186 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1582540819.A.2BB.html

02/24 19:12, 4年前 , 1F
sapply(df[, c(1,4,5,6,7,8)], as.numeric) 再cbind回df
02/24 19:12, 1F

02/24 19:16, 4年前 , 2F
之後若想刪掉舊的就只是 df[, -1*c(1,4,...)]
02/24 19:16, 2F

02/24 19:37, 4年前 , 3F
直接df[c(1,4,5,6,7,8)] <- sapply(...) 就不用cbind了
02/24 19:37, 3F

02/24 19:50, 4年前 , 4F
對。謝謝。
02/24 19:50, 4F

02/25 01:19, 4年前 , 5F
02/25 01:19, 5F
文章代碼(AID): #1UKwWJAx (R_Language)
文章代碼(AID): #1UKwWJAx (R_Language)