簡體   English   中英

如何組合 R 循環導致 dataframe

[英]How to combine R loop result in a dataframe

我當前的代碼如下:

for (i in c(1:10)) 
{excess_returns <- i - 2
print(excess_returns
}

當我使用 print() 時,它會打印出每個 output 但是我如何合並每個 output 並將它們變成一個數據幀。

這是我的問題的簡化視圖,我在數據集中得到了 23 列,我想使用每一列減去另一列,並將所有輸出組合在一起形成一個新的 dataframe

感謝您的幫助

像這樣怎么樣:

excess_returns <- rep(NA, 10)
for (i in c(1:10)) {
  excess_returns[i] <- i - 2
}
excess_returns
#>  [1] -1  0  1  2  3  4  5  6  7  8

代表 package (v2.0.1) 於 2022 年 2 月 4 日創建

請注意,在上面,您首先初始化了excess_returns向量,然后用for 循環填充它。 這是首選方法,尤其是在實際數據問題比這個玩具示例大得多的情況下。

要將循環的 output 作為 data.frame 返回,我們可以使用@DaveArmstrong 的答案。 但我們也可以使用循環 function 來實現相同的所需 output:

lapply(1:10, function(x) x - 2)

如果我們有一個實際的 data.frame,我們使用 dataframe 作為lapply的參數,如下所示:

my_df <- iris[1:4]

lapply(my_df, \(x) x-2)

或使用 dplyr:

library(dplyr)

my_df %>% mutate(across(everything(), ~ .x -2))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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