I have a list of a dataframes, which I have calculated the colmeans for each column of each dataframe except columns 1 and 2 of the dataframes. A small section of my list of dataframes is at the bottom.
I calculated the colmeans with the line below
df_colmeans <- lapply(df, function(x) colMeans(x[-c(1:2)],na.rm = T))
I want to add the colmeans back to each dataframe in my list of dataframes and tried the line below but ended up with a result that wasn't correct.
df <- rbind(df[-c(1:2)],df_colmeans)
I get the following error
In rbind(df[-c(1:2)], df_colmeans) : number of columns of result is not a multiple of vector length (arg 2)
If there is a way to do it one step, without creating a separate variable (df_colmeans) that would be ideal.
Any help and suggestions greatly appreciated.
list(Fe.II. = structure(list(Lab = c("AD", "AD", "AK", "AK", "AO", "AO", "BQ", "BQ", "CI", "CI", "CL", "CL", "CP", "CP", "CU", "CU", "CW", "CW", "CZ", "CZ", "DA", "DA", "DC", "DC", "DF", "DF", "EQ", "EQ", "EY", "EY", "FL", "FL", "FM", "FM", "FO", "FO", "FP", "FP", "FR", "FR", "GB", "GB", "GC", "GC", "GL", "GL", "GM", "GM", "GT", "GT", "GY", "GZ", "I", "I", "K", "K", "M", "M", "Q", "Q", "S", "S", "U", "U", "V", "V", "W", "W"), `Sample Prep` = c(335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 337, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337), `1` = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.19, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.17, NA, 0.14, NA, NA, NA, NA, NA), `2` = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.01, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.13, NA, 0.15, NA, NA, NA, NA, NA), `3` = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.02, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.23, NA, 0.29, NA, NA, NA, NA), `4` = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.02, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.22, NA, 0.29, NA, NA, NA, NA)), class = "data.frame", row.names = c(NA, -68L)), SiO2 = structure(list(Lab = c("AD", "AD", "AK", "AK", "AO", "AO", "BQ", "BQ", "CI", "CI", "CL", "CL", "CP", "CP", "CU", "CU", "CW", "CW", "CZ", "CZ", "DA", "DA", "DC", "DC", "DF", "DF", "EQ", "EQ", "EY", "EY", "FL", "FL", "FM", "FM", "FO", "FO", "FP", "FP", "FR", "FR", "GB", "GB", "GC", "GC", "GL", "GL", "GM", "GM", "GT", "GT", "GY", "GZ", "I", "I", "K", "K", "M", "M", "Q", "Q", "S", "S", "U", "U", "V", "V", "W", "W"), `Sample Prep` = c(335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 337, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337), `1` = c(3.65, NA, 3.595, NA, 3.645, NA, 3.66, NA, 3.644, NA, 3.547, NA, 3.648, NA, 3.655, NA, NA, NA, 3.666, NA, 3.686, NA, 3.674, NA, 3.667, NA, 3.59, NA, 3.63, NA, 3.689, NA, 3.64, NA, 3.58, NA, NA, NA, 3.46, NA, 3.71, NA, 3.66, NA, 3.65, NA, 3.64, NA, 3.503, NA, NA, NA, 3.631, NA, 3.731, NA, 3.656, NA, NA, NA, 3.75, NA, 3.656, NA, 3.667, NA, 3.684, NA), `2` = c(3.6, NA, 3.591, NA, 3.646, NA, 3.65, NA, 3.625, NA, 3.548, NA, 3.648, NA, 3.643, NA, NA, NA, 3.679, NA, 3.69, NA, 3.646, NA, 3.577, NA, 3.6, NA, 3.63, NA, 3.692, NA, 3.66, NA, 3.59, NA, NA, NA, 3.512, NA, 3.703, NA, 3.62, NA, 3.63, NA, 3.63, NA, 3.49, NA, NA, NA, 3.627, NA, 3.739, NA, 3.669, NA, NA, NA, 3.73, NA, 3.66, NA, 3.664, NA, 3.669, NA), `3` = c(NA, 3.55, NA, 3.662, NA, 3.665, NA, 3.65, NA, 3.67, NA, 3.576, NA, 3.631, NA, 3.683, NA, NA, NA, 3.638, NA, 3.703, NA, 3.666, NA, NA, NA, 3.59, NA, 3.61, NA, 3.657, NA, 3.67, NA, NA, NA, NA, NA, 3.8, NA, 3.684, NA, 3.69, NA, 3.66, NA, 3.69, NA, 4.398, 3.672, NA, NA, 3.678, NA, 3.769, NA, 3.678, NA, 3.718, NA, 3.75, NA, 3.636, NA, NA, NA, 3.603), `4` = c(NA, 3.57, NA, 3.69, NA, 3.624, NA, 3.66, NA, 3.673, NA, 3.551, NA, 3.64, NA, 3.684, NA, NA, NA, 3.678, NA, 3.673, NA, 3.696, NA, NA, NA, 3.56, NA, 3.62, NA, 3.615, NA, 3.66, NA, NA, NA, NA, NA, 3.642, NA, 3.684, NA, 3.67, NA, 3.67, NA, 3.67, NA, 4.38, 3.672, NA, NA, 3.68, NA, 3.757, NA, 3.673, NA, 3.759, NA, 3.78, NA, 3.64, NA, NA, NA, 3.597)), class = "data.frame", row.names = c(NA, -68L)), CaO = structure(list(Lab = c("AD", "AD", "AK", "AK", "AO", "AO", "BQ", "BQ", "CI", "CI", "CL", "CL", "CP", "CP", "CU", "CU", "CW", "CW", "CZ", "CZ", "DA", "DA", "DC", "DC", "DF", "DF", "EQ", "EQ", "EY", "EY", "FL", "FL", "FM", "FM", "FO", "FO", "FP", "FP", "FR", "FR", "GB", "GB", "GC", "GC", "GL", "GL", "GM", "GM", "GT", "GT", "GY", "GZ", "I", "I", "K", "K", "M", "M", "Q", "Q", "S", "S", "U", "U", "V", "V", "W", "W"), `Sample Prep` = c(335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 337, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337, 335, 337), `1` = c(0.04, NA, NA, NA, 0.055, NA, 0.053, NA, 0.055, NA, 0.021, NA, 0.049, NA, 0.052, NA, NA, NA, 0.053, NA, 0.056, NA, 0.054, NA, 0.036, NA, 0.032, NA, 0.06, NA, 0.053, NA, 0.05, NA, 0.043, NA, NA, NA, NA, NA, 0.054, NA, 0.057, NA, 0.052, NA, 0.05, NA, 0.048, NA, NA, NA, 0.056, NA, 0.043, NA, 0.053, NA, NA, NA, 0.052, NA, 0.076, NA, 0.051, NA, 0.047, NA), `2` = c(0.04, NA, NA, NA, 0.054, NA, 0.053, NA, 0.055, NA, 0.023, NA, 0.05, NA, 0.05, NA, NA, NA, 0.051, NA, 0.053, NA, 0.056, NA, 0.036, NA, 0.032, NA, 0.06, NA, 0.053, NA, 0.05, NA, 0.043, NA, NA, NA, NA, NA, 0.056, NA, 0.056, NA, 0.057, NA, 0.05, NA, 0.05, NA, NA, NA, 0.053, NA, 0.043, NA, 0.053, NA, NA, NA, 0.052, NA, 0.076, NA, 0.051, NA, 0.047, NA), `3` = c(NA, 0.04, NA, NA, NA, 0.055, NA, 0.053, NA, 0.057, NA, 0.023, NA, 0.05, NA, 0.055, NA, NA, NA, 0.053, NA, 0.053, NA, 0.054, NA, NA, NA, 0.045, NA, 0.06, NA, 0.052, NA, 0.05, NA, NA, NA, NA, NA, 0.05, NA, 0.054, NA, 0.056, NA, 0.054, NA, 0.05, NA, 0.054, 0.057, NA, NA, 0.057, NA, 0.053, NA, 0.054, NA, 0.052, NA, 0.05, NA, 0.045, NA, NA, NA, 0.051), `4` = c(NA, 0.04, NA, NA, NA, 0.054, NA, 0.053, NA, 0.056, NA, 0.019, NA, 0.052, NA, 0.056, NA, NA, NA, 0.051, NA, 0.051, NA, 0.056, NA, NA, NA, 0.047, NA, 0.06, NA, 0.046, NA, 0.05, NA, NA, NA, NA, NA, 0.05, NA, 0.054, NA, 0.055, NA, 0.054, NA, 0.05, NA, 0.052, 0.056, NA, NA, 0.055, NA, 0.053, NA, 0.053, NA, 0.051, NA, 0.052, NA, 0.046, NA, NA, NA, 0.051)), class = "data.frame", row.names = c(NA, -68L)))
https://stackoverflow.com/questions/66792449/add-a-new-row-to-each-dataframe-in-a-list-of-a-dataframes-r March 25, 2021 at 11:01AM
没有评论:
发表评论