R中跨多个数据帧的类似SQL的查询

时间:2013-08-16 22:16:29

标签: r

我已经安装了这个设置并在Access DB中运行,但我很难将其转换为R。

Dataframe A:

ID, B1, B2, B3, group
1, 0.2, 0.4, 1000, red
...
4447, 0.4, 0.32, 800, blue

数据框B(来自Dataframe A的列的平均值,基于列" group":

ID, group, meanB1, meanB2, meanB3
1, red, 0.45, 0.313, 990.32
...
6, blue, 0.39, 0.289, 790.54

还有第三个Dataframe C,它是Dataframe A中列的标准偏差,同样基于列" group"。

我有一个等式(这里简化),我想为每一行Dataframe A计算,但它需要来自Dataframe B中相关条目的输入,如下所示:

FuncZ <- function(a, b, c) {(((a - b)/c)^2)}

其中a来自Dataframe A(例如,4477),b来自Dataframe B(例如,红色),c来自Dataframe C(例如,红色)。

这在Access中相对容易,但我想在R方式中这样做。

1 个答案:

答案 0 :(得分:1)

1)按group

合并
BigDataFrame <- merge(DataFrameA, DataFrameB, DataFrameC, by="group")

2)在新data.frame

的范围内进行评估
with(BigDataFrame, (((a - b)/c)^2))