假設我有一個資料框串列 df1_2018,df2_2018,df3_2018,...,dfn_2018
我還有另一個資料框串列 df1_2019,df2_2019,df3_2019,...,dfn_2019
我想為year每個資料幀添加一個列,其資料幀名稱中指示的年份值。
所以,我想為df1_2018$year <- 2018第一個串列df1_2019$year <- 2019中的所有資料幀和第二個串列中的所有資料幀運行。
我怎樣才能簡潔地做到這一點,也許使用 for 回圈?
uj5u.com熱心網友回復:
假設兩個串列為d_2018and d_2019。使用lapply,
d_2018 <- lapply(d_2018, function(x){
x$year <- 2018
x
})
d_2019 <- lapply(d_2010, function(x){
x$year <- 2019
x
})
會有所幫助
uj5u.com熱心網友回復:
這是一種purrr用于從資料框名稱添加新列的方法。
library(purrr)
year_data <- list(data_2018, data_2019)
res <- map(year_data, function(x)
imap(x, function(data, name) {
transform(data, year = sub('.*?_', '', name))
}))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/347573.html
