1
我喜欢从data.frame中取平均值小于它们的邻居。这是例子:无循环索引neigboring值
df <- data.frame(V1 = c(1:10), V2 = c(0.5, 1, 2, 6, 7, 6.5, 8, 8.2, 8.1, 8.5))
for (i in 2:(nrow(df)-1)) {
df[i,2] <- ifelse(
df[i,2] < df[i+1,2] & df[i,2] < df[i-1,2],
mean(c(df[i+1,2], df[i-1,2])),
df[i,2]
)
}
有没有更好的方法来省略for循环?
'i1 < - c(FALSE,diff(df $ V2)<0)'这不会选择小于先前值的所有值吗?而不仅仅是那些比之前和之后的都少的那些? – rosscova