我有一个数据集,其中以不同的方式测量了相同的效果,我想比较这些测量值。我的数据集如下所示:
Study MType ID Insect Mean Sd N
Alla Fecundity 1 Aphid .62 .7628 11
Alla RGR 1 Aphid -32.8 7.76 11
Ando Survival 2 Bee 2.34 .67 8
Ando RGR 2 Bee 4.56 .34 10
Ando Fecundity 2 Bee 5.32 4.3 20
Run Code Online (Sandbox Code Playgroud)
我想按 ID 号组合行,以便保留每行的 MType、Mean、Sd 和 N(尽管需要更改列名,以便可以区分列)。
希望最终它看起来像:
Study ID Insect Fecundity.mean Fecundity.Sd Fecundity.N RGR.mean RGR.Sd...etc
一些困难:
我搞砸了 reshape 和 tidyr ,我无法弄清楚如何用它们中的任何一个来做到这一点。请帮忙!
我有一个如下所示的数据框:
transid<-c(1,2,3,4,5,6,7,8)
accountid<-c(a,a,b,a,b,b,a,b)
month<-c(1,1,1,2,2,3,3,3)
amount<-c(10,20,30,40,50,60,70,80)
transactions<-data.frame(transid,accountid,month,amount)
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 dplyr 包动词为每个 accountid 编写每月总金额的函数。
my_sum<-function(df,col1,col2,col3){
df %>% group_by_(col1,col2) %>%summarise_(total_sum = sum(col3))
}
my_sum(transactions, "accountid","month","amount")
Run Code Online (Sandbox Code Playgroud)
得到如下结果:
accountid month total_sum
a 1 30
a 2 40
a 3 70
b 1 30
b 2 50
b 3 140
Run Code Online (Sandbox Code Playgroud)
我收到如下错误:- sum(col3) 中的错误:参数的“类型”(字符)无效。如何在汇总函数中将列名作为参数传递而没有引号?