本文介绍了为两个变量的比率添加一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于每个DVID
和FORM
,我想在数据框中添加一行用于美联储/禁食比率的
For each DVID
and FORM
I want to add a row for the Fed/fasted ratio into my data frame
dfin >-
DVID FORM FED median gmean CV
1 A fast 15 20 10
1 A Fed 30 40 15
1 B fast 40 60 20
1 B Fed 50 100 25
mydfout <-
DVID FORM FED median gmean CV
1 A fast 15 20 10
1 A Fed 30 40 15
1 A Fed/Fasted(%) 200 200 NA
1 B fast 40 60 20
1 B Fed 50 100 25
1 B Fed/Fasted(%) 125 166.6 NA
我如何在R中做到这一点?
how can I do this in R?
推荐答案
我们可以使用base r函数来执行此操作:
we can use base r functions to perform this:
A=aggregate(cbind(median,gmean)~DVID+FORM,dat1,function(x)x[2]/x[1]*100)
B=transform(A,FED="Fed/Fasted%",CV=NA)
do.call(rbind,Map(rbind,split(dat1,dat1[1:2]),split(B,B[1:2])))
DVID FORM FED median gmean CV
1.A.1 1 A fast 15 20.0000 10
1.A.2 1 A Fed 30 40.0000 15
1.A.3 1 A Fed/Fasted% 200 200.0000 NA
1.B.3 1 B fast 40 60.0000 20
1.B.4 1 B Fed 50 100.0000 25
1.B.2 1 B Fed/Fasted% 125 166.6667 NA
这篇关于为两个变量的比率添加一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!