【发布时间】:2016-10-25 14:57:33
【问题描述】:
我在 R 中编写了一个非常简单的代码,但是将它用于超过 2.000.000 行的数据需要将近 2 个小时。
有没有机会改进代码?我希望解决方案尽可能简单。
我的 R 技能还可以(经验
感谢您的帮助。
system.time(
for (i in 1:(length(mydata$session_id)-1)){
if (mydata$session_id[i] != mydata$session_id[i+1]){
mydata$Einstiegskanal[i]="1"
} else {
mydata$Einstiegskanal[i]="0"
}
}
)
# 6877,1 Seconds = 1,91 h
【问题讨论】:
-
library(dplyr);mydata %>% mutate(Einstiegskanal=ifelse(session_id!=lag(session_id), "1", "0"))
标签: r loops if-statement