[英]How to store the results of a for-loop in R when the result is a vector
[英]How to store results from for-loop into a dataframe
我正在嘗試使用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'旁邊的第二列中
為什么不只創建一個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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.