创建简单的循环

时间:2017-06-27 06:11:28

标签: r loops subset

我试图创建一个基本循环,但我很难在线查找信息。

我想要做的就是使用循环而不是对我的数据进行子集化,并为每个数据重复相同的命令。

例如: 我有一个数据集(animals)正在查看不同的animal.type(狗,马,猫,老鼠),我将它们分成coat颜色(黑色,红色,棕色,白色)并将weights带到不同的ages。我有一系列命令,例如将数据更改为线性分组模型(lmer),查看数据,执行anova,查看摘要数据,检查模型假设等等。我只想一次对一种animal.type进行统计。我不想将dogshorses子集化并反复重复相同的公式,而是制作一个循环,为每个animal.type重复相同的统计。

最简单的方法是什么?

我希望它会像...

loop? <- function(animals$animal.type){
ggplot() #view data
lmer1 <- lmer(weight~coat*age) #Create linear model
anova(lmer1)  #look for main patterns
summary(lmer1) #model coefficients
lmerTest::lsmeans(lmer1,test.effs="coat:age") #check model assumptions
plot(lmer1)}

我知道这不对,但我确定答案就在那里......我无法找到答案。

1 个答案:

答案 0 :(得分:0)

这样的东西
for (atype in unique(animals$animal.type)) {
     dd <- subset(animals,animal.type==atype)
     ggplot(dd,...)
     lmer1 <- lmer(weight~coat*age + (1|something), data=dd)
     anova(lmer1)
     summary(lmer1)
     lmerTest::lsmeans(lmer1,test.effs="coat:age")
     plot(lmer1)
}