将group_by()与自定义函数或操作组合
我想在我的数据框内按组运行函数。该函数比较相邻行,但应为每组“重置”。我尝试了以下方法:将group_by()与自定义函数或操作组合,r,dataframe,dplyr,R,Dataframe,Dplyr,我想在我的数据框内按组运行函数。该函数比较相邻行,但应为每组“重置”。我尝试了以下方法: library(dplyr) df1 <- as.data.frame(list('x'=1:6,'y'=(1:6)^2,'z'=5:10, 'g'=c(4,4,4,5,5,5), 'h'=c('a','a','b','b','c','c'))) df1 <- group_by(df1,h) %>% for (i in 2:nrow(
library(dplyr)
df1 <- as.data.frame(list('x'=1:6,'y'=(1:6)^2,'z'=5:10, 'g'=c(4,4,4,5,5,5),
'h'=c('a','a','b','b','c','c')))
df1 <- group_by(df1,h) %>%
for (i in 2:nrow(df1)) {
df1$Head.Distance[i] <- with(df1, sqrt((x[i] - x[i-1])^2 +
(y[i] - y[i-1])^2 +
(z[i] - z[i-1])^2))
}
库(dplyr)
df1我认为您可能正在寻找变异
和滞后
:
df1 %>%
group_by(h) %>%
mutate(xl = (x - lag(x,1))^2,
yl = (y - lag(y,1))^2)
我想您可能正在寻找变异
和滞后
:
df1 %>%
group_by(h) %>%
mutate(xl = (x - lag(x,1))^2,
yl = (y - lag(y,1))^2)
谢谢那正是我要找的!谢谢那正是我要找的!