我有一个大约39k行数据的数据集,摘录如下:
我使用了以下代码按项和组生成991种不同的方法
df2 <- aggregate(LF ~ Country + Item, data=df1, FUN='mean')这个函数的结果看起来很好。
我想测试一下,在df2中,LF的各个方法是否与每个国家项目组合(即df1 )中的基本年度观测值不同。如果是假的,那么LF实际上只是一个静态比率,如果是真的,那么‘废物’是独立于‘生产’)。
如何才能最好地做到这一点?仅针对这个数据集似乎就需要进行991个测试,我不知道如何以这种方式混合apply和t.test函数。
谢谢!
发布于 2015-08-23 13:19:04
t.test需要两组来比较与数值/比例尺相关的输出变量。在这里,在我看来,每个国家和项目的组合,你想比较所有不同的年平均数/平均数。换句话说,您正在试图调查年份是否影响国家和项目的每一个组合的LF平均值。
最简单的方法是为国家和项目的每个组合创建一个线性模型(LF ~年份),并解释变量年的系数和p值。
library(dplyr)
library(broom)
set.seed(115)
# example dataset
dt = data.frame(Country = rep("country1",12),
Item = c(rep("item1",6), rep("item2",6)),
Year = rep(1961:1966,2),
LF = runif(12,0,1))
# general means by country and item
dt %>% group_by(Country,Item) %>% summarise(Mean_LF = mean(LF))
# each years means by country and item
dt %>% group_by(Country,Item,Year) %>% summarise(Mean_LF = mean(LF))
# does year influence the means for each country and item?
dt %>% group_by(Country,Item) %>% do(tidy(lm(LF~Year, data=.)))希望这能有所帮助。如果我遗漏了什么,请告诉我,我会更新我的代码。
https://stackoverflow.com/questions/32165328
复制相似问题