我有一些代码,在一个地方最终得到一个数据帧列表,我真的想转换为一个大数据帧.
我从之前的一个问题中得到了一些指示,这个问题试图做类似但更复杂的事情.
这是我开始的一个例子(为了说明,这是非常简化的):
listOfDataFrames <- vector(mode = "list", length = 100)
for (i in 1:100) {
listOfDataFrames[[i]] <- data.frame(a=sample(letters, 500, rep=T),
b=rnorm(500), c=rnorm(500))
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用这个:
df <- do.call("rbind", listOfDataFrames)
Run Code Online (Sandbox Code Playgroud) 如何使用 group_map 将自定义函数应用于分组标题中的每个组。我想以公斤为单位找到每组的平均体重,并为每个案例创建一个新列。因此,每组中的每个案例都应该具有相同的平均权重。
# custom function
meanKG = function(vector) {
return(mean(vector, na.rm=TRUE) / 2.2)
}
df = mtcars %>% group_by(cyl)
# A tibble: 32 x 11
# Groups: cyl [3]
mpg cyl disp hp drat wt qsec vs am gear carb
* <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
3 22.8 4 …Run Code Online (Sandbox Code Playgroud)