我正在尝试使用for循环来计算某些列之间的均值差,因此在完成for循环时,它给出了一堆值,它们是某些列之间的特定均值差。它们存储在R studio右侧的value部分中。但是,值太多了,所以我真的很想将所有这些值都放在一个数据框中,以便于阅读。
我尝试在for循环和magicfor库之外创建一个数据框,但是它仍然无法正常工作。 这是伪代码:
for (i in c(7:9,11:13, ...)){
meannam<-paste(.....) #I tried to create a variable name for each mean
mean_ind_diff<-mean((data[,i+1]-data[,i]),na.rm=TRUE) #computing the average of the difference between (i+1)the column and i column
assign(meannam, mean_ind_diff) #assigning the meanname to the specific mean value)
}
输出存储在全局环境的value部分中。我可以通过调用变量名称来检索此值。但是我想将所有这些值放入一个数据帧中,并将其变量名作为行名或列名。
预期结果将是一个以'meannam'作为行名(/列名)的数据帧,并且平均差值将位于'meannam'旁边的第二列中
答案 0 :(得分:1)
为什么不只创建一个带有列名的data.frame,在这里给它的意思是meannam <-paste(.....)与均值差相关?它看起来像这样:
size <- length(c(7:9,11:13, ...))
data_frame_mean_dif <- data.frame(nrow = size, ncol = 2) #in which first columns is name
#and second column is the mean
#difference
j <- 1
for(i in c(7:9,11:13, ...)){
data_frame_mean_dif[j,1] <- paste(.....)
data_frame_mean_dif[j,2] <- mean((data[,i+1]-data[,i]),na.rm=TRUE)
j <- j + 1
}