我认为这应该很简单,但我无法理解。我试图根据下一个变量是否为“目标”来创建变量。我对R没什么经验,也不太懂得如何参考下一个观察。我之前回答过一个更复杂的问题,这很有帮助,但我想我首先需要一个更基本的理解。
我的数据如下所示:
event<-c("Pass","Goal","Pass","Pass","Pass","Pass","Goal")
我希望它看起来像这样:
event assist
Pass 1
Goal NA
Pass NA
Pass NA
Pass NA
Pass 1
Goal NA
任何解释都会很棒。感谢。
答案 0 :(得分:0)
我想如果你想了解基础知识,那么使用基础R并不是更好的方法
assist = rep(NA,length(event)) #create an empty assist vector
for (i in 1:length(event)-1){ #the loop goes over the entire length of event except the last
if (event[i+1] == "Goal") #if the following element is "Goal"; the index is referencing the next observation
{assist[i] = 1} #then do this
else{assist[i] = NA} #else this
}
你得到了输出:
> assist
[1] 1 NA NA NA NA 1 NA
但是你应该使用评论中提到的两种方法中的任何一种。它更优雅。