我有基于小时的数据集,即小时1的某些数据行,依此类推。我不知道每小时的数据行数,我想创建一个只有每小时第一个条目的新数据集。 对于像这样的数据集,
hour data
1 33
1 34
1 36
2 38
2 40
3 41
3 42
我想只提取小时1的第一个读数,然后提取小时2的第一个读数,依此类推。然后我想减去连续的读数。比如,38-33和41-38
答案 0 :(得分:0)
library(dplyr) # df1 is your data frame
df1 %>%
group_by(hour) %>%
summarise(first=first(data))%>%
mutate(first_diff=lead(first,1)-first)
Source: local data frame [3 x 3]
hour first first_diff
1 1 33 5
2 2 38 3
3 3 41 NA
或,
library(dplyr) # df1 is your data frame
df1 %>%
group_by(hour) %>%
summarise(first=first(data))%>%
mutate(first_diff=lag(first,1)-first)
Source: local data frame [3 x 3]
hour first first_diff
1 1 33 NA
2 2 38 -5
3 3 41 -3