我有一个数据格式列表,我需要为每个行创建两个新行,它们具有第一行和最后一行的平均值。例如
df1<-data.frame(
Concentrations=c("10","5","2"),
Value_1=c(5000, 4000,3000),
Value_2=c(4000,6000,2000)
)
df2<-data.frame(
Concentrations=c("10","5","2"),
Value_1=c(3000, 9000,2000),
Value_2=c(5000,8000,2000)
)
list.df<-list(df1,df2)为此,我需要第四行,所有值都为4,000,第五行,为2.500。我猜想我最好的选择是使用lapply函数,但是我应该如何进行呢?
发布于 2022-08-12 18:01:13
我不确定这是否符合你的想法,然而,也许这会有帮助!
library(purrr)
library(dplyr)
purrr::map(list.df, ~ add_row(.data = .x,
Value_1 = (first(.x$Value_1) + last(.x$Value_1)) / 2,
Value_2 = (first(.x$Value_1) + last(.x$Value_1)) / 2
))创建:
[[1]]
Concentrations Value_1 Value_2
1 10 5000 4000
2 5 4000 6000
3 2 3000 2000
4 <NA> 4000 4000
[[2]]
Concentrations Value_1 Value_2
1 10 3000 5000
2 5 9000 8000
3 2 2000 2000
4 <NA> 2500 2500https://stackoverflow.com/questions/73335690
复制相似问题