R 使用为创建动力学名称

R 使用为创建动力学名称,r,loops,R,Loops,“你好 我想分配变量名 我这样做: SCIAN is a data frame SCIAN"i", for i in 1:20 are filtred data frames for(i in 1:20){ assign(paste("SCIAN", i, sep = ""), subset(ISFLSH, SCIAN==i) ) } 现在,我需要来自不同数据帧的选定向量的条件平均值(SCIAN1、SCIAN2…SCIAN20) 类似的东西,但有循环 SCIAN1<-sum(SCIA

“你好

我想分配变量名

我这样做:

SCIAN is a data frame

SCIAN"i", for i in 1:20 are filtred data frames

for(i in 1:20){
assign(paste("SCIAN", i, sep = ""), subset(ISFLSH, SCIAN==i) )
}
现在,我需要来自不同数据帧的选定向量的条件平均值
(SCIAN1、SCIAN2…SCIAN20)

类似的东西,但有循环

SCIAN1<-sum(SCIAN1$INGOCUP)/length(which(SCIAN1$INGOCUP!=0))
SCIAN2<-sum(SCIAN2$INGOCUP)/length(which(SCIAN2$INGOCUP!=0))
SCIAN3<-sum(SCIAN3$INGOCUP)/length(which(SCIAN3$INGOCUP!=0))
SCIAN4<-sum(SCIAN4$INGOCUP)/length(which(SCIAN4$INGOCUP!=0))
SCIAN5<-sum(SCIAN5$INGOCUP)/length(which(SCIAN5$INGOCUP!=0))
SCIAN6<-sum(SCIAN6$INGOCUP)/length(which(SCIAN6$INGOCUP!=0))
SCIAN7<-sum(SCIAN7$INGOCUP)/length(which(SCIAN7$INGOCUP!=0))
SCIAN8<-sum(SCIAN8$INGOCUP)/length(which(SCIAN8$INGOCUP!=0))
SCIAN9<-sum(SCIAN9$INGOCUP)/length(which(SCIAN9$INGOCUP!=0))
SCIAN10<-sum(SCIAN10$INGOCUP)/length(which(SCIAN10$INGOCUP!=0))
SCIAN11<-sum(SCIAN11$INGOCUP)/length(which(SCIAN11$INGOCUP!=0))
SCIAN12<-sum(SCIAN12$INGOCUP)/length(which(SCIAN12$INGOCUP!=0))
SCIAN13<-sum(SCIAN13$INGOCUP)/length(which(SCIAN13$INGOCUP!=0))
SCIAN14<-sum(SCIAN14$INGOCUP)/length(which(SCIAN14$INGOCUP!=0))
SCIAN15<-sum(SCIAN15$INGOCUP)/length(which(SCIAN15$INGOCUP!=0))
SCIAN16<-sum(SCIAN16$INGOCUP)/length(which(SCIAN16$INGOCUP!=0))
SCIAN17<-sum(SCIAN17$INGOCUP)/length(which(SCIAN17$INGOCUP!=0))
SCIAN18<-sum(SCIAN18$INGOCUP)/length(which(SCIAN18$INGOCUP!=0))
SCIAN19<-sum(SCIAN19$INGOCUP)/length(which(SCIAN19$INGOCUP!=0))
SCIAN20<-sum(SCIAN20$INGOCUP)/length(which(SCIAN20INGOCUP!=0))

scian1使用向量:将数据帧放入列表中。例如,SCIAN1将位于
SCIAN[[1]]
中,您最好这样做
L=split(ISFLSH,list(ISFLSH$SCIAN));lappy(L,函数(x)和(x$INGOCUP)/长度(其中(x$INGOCUP!=0))
谢谢。它确实有效。我的问题是,我忘了思考向量的解决方案。非常感谢。@Vlo或
with(ISFLSH[ISFLSH$INGOCUP!=0,],tapply(INGOCUP,SCIAN,mean))