r - 如何将列表转换为数据框
问题描述
我有 16 个项目的清单:
[[1]]
[1] -3.3354997 0.2301914 1.0979842
[[2]]
[1] -3.3275922 0.2505644 0.8881143
[[3]]
[1] -3.3743078 0.3318792 0.4635529
[[4]]
[1] -3.4310944 0.3303742 0.4707966
[[5]]
[1] -3.5093978 0.3527943 0.3970423
...
我想要这样一个数据框,其中 mu、szig 和 kszi 是列。对于每一行,我想计算一个新值1-exp(-(1+kszi*((0-mu)/szig))^(-1/kszi))
并将其作为第 4 列添加到数据框中。
解决方案
类似于@duckmayr:
# libraries ------------------------------------------------------------------------
library(dplyr) # you don't really need it but %>% looks great
library(purrr) # i use it to create example dataset only
# example data ---------------------------------------------------------------------
l <- replicate(16,
map_dbl(c(-3, 0, 1), ~ rnorm(1, mean = .x)),
simplify = F
)
# explore the data -----------------------------------------------------------------
glimpse(l)
List of 16
$ : num [1:3] -1.589 0.434 2.359
$ : num [1:3] -3.962 0.347 2.985
$ : num [1:3] -3.765 -0.115 0.117
.................................
$ : num [1:3] -2.125 -0.116 1.363
# convert list 2 data.frame, do some math ------------------------------------------
dat <- setNames( # set names for columns of returned data.frame
do.call(rbind.data.frame, l), # use rbind.data.frame to return data.frame
c('mu', 'szig', 'kszi') # vector of column names
) %>% # pipe resulting data.frame into mutate do math
mutate(newcol = 1 - exp(-(1 + kszi * (-mu / szig))^(-1 / kszi)))
# examine the results --------------------------------------------------------------
head(dat)
mu szig kszi newcol
1 -1.589332 0.4341922 2.3591750 0.3180414
2 -3.962315 0.3472064 2.9853146 0.2619436
3 -3.764680 -0.1152990 0.1165112 NaN
4 -3.068161 0.9600714 1.6944156 0.2838741
5 -2.305584 -0.5308407 2.9096659 NaN
6 -2.671408 3.3653275 0.9817123 0.4265145
# post your answer to stackoverflow -------------------------------------------------
[1] "in progress..."
推荐阅读
- c# - 错误:XX 处的 0x1:调用目标已引发异常
- sql - 如何从表中获取每个类别的顶级名称?PostgreSQL
- php - Nginx:无法打开网站上的任何链接。仅首页显示
- android - 如何使用 Android Studio/Kotlin 访问 FirebaseFirestore 中的数组字段?
- c# - 将 ViewState 保存在自定义控件的嵌套下拉列表中
- c# - 如何将路径与 WebRootPath 结合起来
- google-chrome - 如何强制网页认为它处于焦点或焦点之外?
- python - 根据精确组件对 numpy.array 的行进行排序
- ffmpeg - 使用 FFmpeg 堆叠 gif 而不会降低质量
- java - 在新活动中如何停止倒数计时器