以下是检查特定条件(如果连续两行具有相同值)后在数据框中插入新列的简单循环。 代码工作得很好,但我想提高我的编码技能,所以我要求其他解决方案(更快,更优雅)。 我检查了以前的话题,并了解了很多,但我对我的具体案例很好奇。 感谢您的任何输入。改进我的编码“for循环”
vector<-1
vector_tot<-NULL
for(i in 1:length(dat$Label1))
{
vector_tot<-c(vector_tot,vector)
if(dat$Label1[i]==dat$Label1[i+1]){
vector<-0
}
else {
vector<-1
}
}
dat$vector<- vector_tot
猜测'NA'应该在底部而非顶部(循环开始于1,它的下一个元素搜索,而不是以前的)。 – nicola
'dat $ Label1 == c(tail(dat $ Label1,-1),NA)'作为同一方法的不同概念 – thelatemail
谢谢尼科拉,调整了答案。 – Florian