簡體   English   中英

如何將結果從for循環存儲到數據框中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM