小编dad*_*ado的帖子

使用具有多个条件的ifelse编程R.

你帮帮我了

我有data.frame E有四列我只使用R中的基本包我不使用for循环我有milion行

phone<-c(123,123,123,333,333,333,456,456,456,789,789,789,500,500,500,....etc) time<-c(2018-11-06,2018-11-06,2018-11-06,2018-11-09,2018-11-09,2018-11-09,2018-11-07,2018-11-07,2018-11-07,2018-11-05,2018-11-05,2018-11-05,2018-11-06,2018-11-06,2018-11-06...etc) 
tel<-c(0,0,1,1,0,1,1,1,0,1,1,1,0,0,1,...etc)       
porad<-c(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3....etc)
Run Code Online (Sandbox Code Playgroud)

我想创建带有结果的新列

E$de<-c(0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,...etc)
Run Code Online (Sandbox Code Playgroud)

所以我用了循环,这个过程大概跑了4个小时.

E$de[1]=ifelse(E$phone[i]==E$phone[i+1] & E$time[i]==E$time[i+1] & E$porad[1]==2 & E$tel[1]==1,1,0)
E$de[2]=ifelse(E$phone[i]==E$phone[i+1] & E$time[i]==E$time[i+1] & E$porad[2]==3 & E$tel[2]==1,1,0)
for (i in 3:length(E$phone))
{
  E$de[i]<-ifelse(E$phone[i]==E$phone[i-2] & E$time[i]==E$time[i-2] & E$porad[i]==3 & E$tel[i]==1 & E$tel[i-1]==0 & E$tel[i-2]==0,1,0)
}
Run Code Online (Sandbox Code Playgroud)

请帮帮我:D

r conditional-statements

-15
推荐指数
1
解决办法
267
查看次数

标签 统计

conditional-statements ×1

r ×1