我需要像这样转换矩阵x
:
head(x)
Age d18O d13C
1 0.000 3.28 0.880
2 0.000 3.58 0.150
3 0.002 3.16 0.960
4 0.002 2.91 3.228
5 0.004 3.33 0.880
6 0.004 3.16 3.328
tail(x)
Age d18O d13C
14883 66.3037 1.00 2.03
14884 66.3159 1.02 1.70
14885 66.3800 0.62 2.01
14886 67.0073 1.30 1.23
14887 67.2391 1.31 1.30
14888 67.5173 1.36 1.35
到一个矩阵中,包含0.5个时间段,每个变量的平均值,如:
Age count(x$d18O) mean(x$d18O)
1 0 500 4.1003
2 0.5 522 4.079464
3 1 412 4.032743
4 1.5 366 3.810601
5 2 498 3.749257
6 2.5 608 3.649063
. . . .
. . . .
年龄以百万年为单位。
答案 0 :(得分:2)
这应该可以解决问题:
library(dplyr)
x %>%
mutate(age_bucket = cut(Age, seq(min(Age), max(Age), by = 0.05), include.lowest = TRUE)) %>%
group_by(age_bucket) %>%
summarise(n = n(),
mean_d18O = mean(d18O))
答案 1 :(得分:1)
试试这个:
public class getInput {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("arg " + i + ": " + arg);
}
}
}
你会得到类似的东西:
sdf=split(x,cut(x$Age,seq(0,max(x$Age)*1.01,by=.5))) do.call(rbind,lapply(sdf,function(sx)c(length(sx$d18O),mean(sx$d18O))))