設置我有一個數據表,我想爲每一個獨特的一天,一個新列,然後每個地方白天列名稱匹配行中指定1快速環路與data.table和R中
我已經做了這個使用for循環,但我想知道是否有任何方法使用data.table和設置優化它?
下面是一個例子
dt <- data.table(Week_Day = c("Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"))
Day <- unique(dt$Week_Day)
for (i in 1:length(Day)) {
if (Day[i] != "Sunday") {
dt[, Day[i] := ifelse(Week_Day == Day[i], 1, 0)]
}
}
我的表是298K行,雖然它並不需要很長時間來執行(下同),長腳本的一部分,我有好幾個低效的循環,所以我我試圖讓整體運行時間縮短。
的時間來運行:
user system elapsed
0.99 0.06 1.05
在此先感謝。
不要看'model.matrix()'爲好。也許通過使用你想要的東西。 – abhiieor
相關問題:http://stackoverflow.com/q/18881073/ – Frank