本文介绍了为两个变量的比率添加一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于每个DVIDFORM,我想在数据框中添加一行用于美联储/禁食比率的

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

这篇关于为两个变量的比率添加一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 20:10