我想汇总我的数据。目标是在每个时间间隔中在图中有一个点。因此,我有2列的数据框。第一列是时间戳。第二个是值。我想评估每个时间段。这意味着:在时间段(例如1秒)内将所有值加在一起。 我不知道如何使用聚合函数,因为这些函数不支持任何时间。
0.000180 8
0.000185 8
0.000474 32
答案 0 :(得分:1)
从您的问题中分辨出您要具体做什么是不容易的。您的数据没有列标题,我们不知道数据类型,您没有包含错误消息,并且您在原始问题和注释之间矛盾(第一列是时间戳?还是第二列是时间?邮票?
我想了解。您是否要:
data.frame
拆分为多个data.frame
?filter
您的数据吗?data.frame
按设定的时间间隔按特定的增量分组,然后汇总结果?假设您已将数据框上的变量命名为time
和value
,下面将介绍这三个示例。
#Set Data
num <- 100
set.seed(4444)
tempdf <- data.frame(time = sample(seq(0.000180,0.000500,0.000005),num,TRUE),
value = sample(1:100,num,TRUE))
#Example 1: Split your data in to multiple dataframes (using base functions)
temp1 <- tempdf[ tempdf$time>0.0003 , ]
temp2 <- tempdf[ tempdf$time>0.0003 & tempdf$time<0.0004 , ]
#Example 2: Filter your data (using dplyr::filter() function)
dplyr::filter(tempdf, time>0.0003 & time<0.0004)
#Example 3: Chain the funcions together using dplyr to group and summarise your data
library(dplyr)
tempdf %>%
mutate(group = floor(time*10000)/10000) %>%
group_by(group) %>%
summarise(avg = mean(value),
num = n())
我希望对您有帮助吗?