我的(样本)数据结构如下:
Participant
我使用以下内容计算每个Condition
下每个IndividAvgWork <- ddply(Individ, c("Participant", "Condition"), summarise,
Power = mean(Power))
完成的平均工作量:
Power
我现在希望计算data.frame Time
中每分钟Individ
执行的IndividAvgWork
,占Participant
中总平均功率的百分比。必须为每个Condition
下的每个RelPower = c(120.30, 75.19, 54.14, 150.38)
完成此操作。有没有快速的方法来做到这一点?
在安慰剂条件下,Bill的预期输出的一个例子是:
Power
以上计算:(采样功率/平均功率)* 100。
作为一个有效的例子,比尔的Time
在安慰剂Condition
下的Condition
为1 {400}。然后,我将此除以比尔的平均权力。安慰剂IndividAvgWork
为332.50并存储在fatal: Authentication failed for (url of team project
中。将这些值代入得到:(400 / 332.5)* 100
谢谢。
答案 0 :(得分:0)
您可以使用库dplyr
尝试这样的事情:
library(dplyr)
Individ %>% group_by(Participant, Condition) %>% mutate(PercentPower = round(Power / (mean(Power)) * 100, 2))
这就是它将产生的:
Source: local data frame [24 x 5]
Groups: Participant, Condition [6]
Participant Time Condition Power PercentPower
(fctr) (dbl) (fctr) (dbl) (dbl)
1 Bill 1 Placebo 400 120.30
2 Bill 2 Placebo 250 75.19
3 Bill 3 Placebo 180 54.14
4 Bill 4 Placebo 500 150.38
5 Bill 1 Expr 300 64.45
6 Bill 2 Expr 450 96.67
7 Bill 3 Expr 600 128.89
8 Bill 4 Expr 512 109.99
9 John 1 Expr 300 82.76
10 John 2 Expr 500 137.93
.. ... ... ... ... ...