r - 迭代地将函数输出添加到R中的小标题
问题描述
我在 R 中有一个函数,它将参与者 ID 作为输入并输出一个只有一行和 10 列的数据帧。要调用该函数,我需要做的就是function(id)
得到:
第 1 列 | 第 2 列 | ETC |
---|---|---|
价值 | 价值 | ETC |
我想对 ID 列表中的每个 ID 运行该函数,并输出一个 tibble,每个参与者有一行,其中第一列是 ID 号,后跟函数输出中的所有普通列,如下所示:
ID | 第 1 列 | 第 2 列 | ETC |
---|---|---|---|
01 | 价值 | 价值 | ETC |
02 | 价值 | 价值 | ETC |
03 | 价值 | 价值 | ETC |
我的直觉(作为一个没有经验的 R 用户)是尝试for
循环执行此操作,但我认为会有更好的方法来使用purrr
. 这map_df
是我想要的吗?以及如何为参与者 ID 添加额外的列?
解决方案
是的,使用map_df
将有助于指定.id
参数。
fn <- function(id) {
#some function that returns a dataframe
}
#If your dataframe is called `df` with `ID` column in it
result <- purrr::map_df(df$ID, fn, .id = 'ID')
推荐阅读
- python - 读取 json 文件返回 ValueError: Expected object or value
- c# - 如何以浮点数获取二维数组的状态
- javascript - 如何从 Orbeon Forms CE 中的按钮调用 Javascript 代码?
- python-3.x - Spark DataFrame 限制函数需要太多时间才能显示
- solidity - Solidity:给自己寄一些钱
- javascript - 如何在JS中解码gzip字符串
- php - 尝试设置更新用户,描述和图片与用户不同
- html - 防止在双击时选择多个 html 元素
- reactjs - ReactJS:渲染“Hello World”组件不起作用
- kivy - 在 Kivy 中,如何在具有多个屏幕的应用程序的特定屏幕上添加 CircularProgressBar?