我有一个数据框,我想将一个列值拆分成n组.所以,我有一个data$dist大约有10k记录的列,其中最大值是23180,最小值是8951.我想将值分成10组相等的范围,即(23180-8951)/ 10 = 1423.这意味着所有8951和10374之间的值分为1组.等等.我该怎么做?
我有一个数据框:
set.seed(123)
x <- sample(10)
y <- x^2
my.df <- data.frame(x, y)
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
> my.df
x y
1 3 9
2 8 64
3 4 16
4 7 49
5 6 36
6 1 1
7 10 100
8 9 81
9 2 4
10 5 25
Run Code Online (Sandbox Code Playgroud)
我想要的是每n行对行进行分组,以计算均值,总和或5个选定行上的任何值。对于n = 5这样的事情:
my.df %>% group_by(5) %>% summarise(sum = sum(y), mean = mean(y))
Run Code Online (Sandbox Code Playgroud)
预期的输出将类似于:
# A tibble: 1 x 2
sum mean
<dbl> <dbl>
1 174 34.8
2 211 …Run Code Online (Sandbox Code Playgroud) 我有从动物跑步实验中获得的 12511 行和 16 列的数据框。每行代表每只动物的每分钟跑步计数。我想对每 60 行的列求和(即每小时计数)。
我尝试使用 apply 函数来求和 60 行:
apply(rw[1:60,],2,sum)
apply(rw[61:120,],2,sum)
apply(rw[121:180,],2,sum)
Run Code Online (Sandbox Code Playgroud)
... 一直这样做直到 12511 是不可想象且耗时的。
我确信有一种聪明的方法可以将我的数据压缩到 208 行。请帮忙!!
谢谢你。