【发布时间】:2015-12-24 03:25:12
【问题描述】:
除了“x”和“y”列之外,我还有几列用于拆分数据的数据框(现在假设为 2)。在通过 2 列进行子集化后,我想在“x”和“y”上执行诸如散点图或 lm 之类的功能。
我一直在每个子集之后存储“迷你”数据并调用进一步的循环,直到获得所需的“x”和“y”,但在 3 个或更多循环后它变得复杂。最近,我尝试创建一个“键”变量来存储所有可能的组合。
有没有一种简单的方法可以先拆分数据并调用函数?也许是应用或聚合的扩展,但所有因素都要经过所有组合。
country <- rep(c("Australia","UK"), 2, each = 6)
gender <- rep(c("M","F"),1, each = 12)
X_height <- rep(seq(150,200,10),4)
Y_weight <- c(seq(70,95,5),
seq(71,96,5),
seq(65,90,5),
seq(66,91,5))
df <- data.frame(country, gender, X_height, Y_weight)
df[,"Key"] <- paste(df$country, df$gender, sep="_")
keys <- unique(df$Key)
par(mfrow = c(2,2))
sapply(1:length(keys), function(i){
with(subset(df, Key == keys[i]),plot(x = X_height, Y_weight, main = keys[i]))
})
谢谢
【问题讨论】:
-
用正确的语言标签标记您的问题可能会有所帮助。