[問題] data.table 改值
[問題類型]:
效能諮詢(我想讓R 跑更快)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
最近在嘗試使用data.table跟dplyr,可是在資料整理上,
我一直有個想找一個最簡單的寫法,
我想要根據某一欄去創建一個新的變數,
根據該欄的資訊,進行資料的新增,
請看下面範例,我想要有類似sapply的寫法....
[程式範例]:
library(data.table)
library(dplyr)
DT = data.table(a=rep(LETTERS[c(1:5)],2),b=4:13)
DT = mutate(DT, b2 = b)
set(DT, i = which(DT$a == "A"), j = "b2",
value = as.integer(DT[which(DT$a == "A")]$b * 2))
set(DT, i = which(DT$a == "B"), j = "b2",
value = as.integer(DT[which(DT$a == "B")]$b * 3))
DT$b3 = sapply(1:nrow(DT), function(i){
if(DT[i]$a == "A")
DT[i]$b = DT[i]$b*2
else if(DT[i]$a == "B")
DT[i]$b = DT[i]$b*3
else
DT[i]$b
})
DT
[關鍵字]:
選擇性,也許未來有用
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.170.55
※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1406456070.A.482.html
推
07/27 22:12, , 1F
07/27 22:12, 1F
→
07/27 22:12, , 2F
07/27 22:12, 2F
→
07/27 23:58, , 3F
07/27 23:58, 3F
→
07/27 23:59, , 4F
07/27 23:59, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章