首先感谢这个论坛,因为我已经找到了很多答案! 现在我的时间寻求帮助。 我可以解决这个....功能?,循环?...没有找到一个好的例子
# from a data.frame = data
# A:F are name of columns
x<-unique(data$A) # in the example c('var1','var2','var3','var4')
y<-unique(data$B) # in the example c('varA','varB')
z<-unique(data$C) # in the example c('var1a','var2a')
# I NEED TO REPEAT THIS (based on x_y_z combinations)#
x_y_z<-subset(data,data$A==x & data$B==y & data$C==z)
plot_x_y<-qic(y=D
,n=E
,x=F
,data=x_y_z
,chart = 'p')
我们的想法是重复子集并为每个x_y_z组合制作一个图。子集应该具有由&#39; _&#39;分隔的组合变量的名称。 我想它应该像这样工作:
var1_varA_var1a<-subset(data,data$A==var1 & data$B==varA & data$C==var1a)
plot_var1_varA<-qic(y=D
,n=E
,x=F
,data=var1_varA_var1a
,chart = 'p')
获得所有这些情节:
plot_var1_varA_var1a
plot_var1_varB_var1a
plot_var1_varA_var2a
plot_var1_varB_var2a
plot_var2_varA_var1a
plot_var2_varB_var1a
plot_var2_varA_var2a
plot_var2_varB_var2a
plot_var3_varA_var1a
plot_var3_varB_var1a
plot_var3_varA_var2a
plot_var3_varB_var2a
plot_var4_varA_var1a
plot_var4_varB_var1a
plot_var4_varA_var2a
plot_var4_varB_var2a
对不起基本问题,但是我坚持这个。
瓦尔
答案 0 :(得分:1)
考虑by
哪些切片如subset
,但允许在其FUN
arg中进行数据框操作。并使用一个绘图列表而不是许多单独命名的绘图对象。
plot_list <- by(data, data[, c("A","B","C")], FUN = function(df) {
qic(y = D,n = E,x = F, data = df, chart = 'p')
})
是否要重命名此列表:
dfnames <- expand.grid(x,y,z)
listnames <- vapply(1:nrow(dfnames), function(i)
paste(dfnames$Var1[[i]], dfnames$Var2[[i]], dfnames$Var3[[i]], sep="_"), character(1))
# [1] "var1_varA_var1a" "var2_varA_var1a" "var3_varA_var1a" "var4_varA_var1a" "var1_varB_var1a"
# [6] "var2_varB_var1a" "var3_varB_var1a" "var4_varB_var1a" "var1_varA_var2a" "var2_varA_var2a"
# [11] "var3_varA_var2a" "var4_varA_var2a" "var1_varB_var2a" "var2_varB_var2a" "var3_varB_var2a"
# [16] "var4_varB_var2a"
# RENAME LIST ELEMENTS
plot_list <- setNames(plot_list, paste0("plot_", listnames))
plot_list$plot_var1_varA_var1a # FIRST PLOT
plot_list$plot_var2_varA_var1a # SECOND PLOT
...