r - 在函数中,获取列表项的名称
问题描述
我正在编写一个函数来生成表格。请看下文。
x <- list(alpha = 1:10,
beta = exp(-3:3),
gamma = c(sin(pi/6), cos(pi/6), tan(pi/6)))
lapply(x, function(x){
temp <- tibble(Source = "foo",
Original = x,
Square = x ^ 2,
Cubic = x ^ 3)
return(temp)
}
)
输出如下所示:
问题是:如何使源列显示“alpha”、“beta”和“gamma”?
谢谢!
解决方案
这可能不是最优雅的答案,但这有效。请注意,我purrr::map
在这里使用而不是 lapply。
x <- list(alpha = 1:10 %>% as_tibble() %>% rename("alpha" = value),
beta = exp(-3:3) %>% as_tibble() %>% rename("beta"= value),
gamma = c(sin(pi/6), cos(pi/6), tan(pi/6)) %>% as_tibble() %>% rename("gamma" = value))
map(x, ~ tibble(source = colnames(.), original = ., square = .^2, cubic = . ^3))
推荐阅读
- spring-boot - 每次更改静态资源时,如何停止在 Tomcat 服务器上运行的 Spring Boot 项目以自行重新部署?
- javascript - 如何重新启动我的 Javascript 代码
- android - 应用程序不断关闭 -csv 文件 - Android 工作室 - 已更新
- excel - 我的 vba 代码似乎不起作用,即使没有错误
- android - 所有 com.android.support 库必须使用相同的版本
- intellij-idea - 使用外部系统错误 libgdx IntelliJ IDEA 时出现异常
- javascript - 在模态中居中对齐 react-datetime
- java - 小行星 libGDX 余弦和正弦旋转方程,以错误的角度射击子弹
- r - r中cat输出的时间格式
- python - Python Web抓取重定向到其他页面的页面