【发布时间】:2017-05-16 22:53:13
【问题描述】:
我正在将分析从 R 迁移到 Spotfire,而 dplyr 中微不足道的东西在 Spotfire 中似乎很难。我有一张桌子,上面有几个实验组,每个实验组都有治疗和对照。我想计算每个实验组的控制平均值。
这是一个示例:
+-------+------+-------+
| group | trmt | value |
+-------+------+-------+
| a | cont | 32 |
| a | cont | 28 |
| a | t1 | 65 |
| a | t1 | 57 |
| a | t2 | 23 |
| a | t2 | 19 |
| b | cont | 132 |
| b | cont | 128 |
| b | t1 | 165 |
| b | t1 | 157 |
| b | t2 | 123 |
| b | t2 | 119 |
+-------+------+-------+
以及所需的输出:
+-------+------+-------+-------------+
| group | trmt | value | meanControl |
+-------+------+-------+-------------+
| a | cont | 32 | 30 |
| a | cont | 28 | 30 |
| a | t1 | 65 | 30 |
| a | t1 | 57 | 30 |
| a | t2 | 23 | 30 |
| a | t2 | 19 | 30 |
| b | cont | 132 | 130 |
| b | cont | 128 | 130 |
| b | t1 | 165 | 130 |
| b | t1 | 157 | 130 |
| b | t2 | 123 | 130 |
| b | t2 | 119 | 130 |
+-------+------+-------+-------------+
在 R 中,逻辑很简单:
library(dplyr)
df <- read.csv('xx.csv', as.is=T)
controls <- df %>%
filter(trmt == "cont") %>%
group_by(group) %>%
summarize(meanControl=mean(value))
result <- df %>%
inner_join(controls, by="group")
在 Spotfire 中执行此操作的好方法是什么?显然我可以用 TERR 做到这一点,但我想要纯原生 Spotfire。
【问题讨论】:
-
这对你有用吗
标签: spotfire