使用 dplyr mutate 将向量分成两列

2023-12-28

假设我有以下功能

get_answer <- function(condition, dp, rp){
  if(condition == "DD"){
    result <- rbinom(n = 2, size = 1, prob = dp)
  }
  
  if(condition %in% c("DR", "RD")){
    result <- c(rbinom(n = 1, size = 1, prob = dp), 
                rbinom(n = 1, size = 1, prob = rp))
  }
  
  if(condition == "RR"){
    result <- rbinom(n = 2, size = 1, prob = rp)
  }
  
  return(result)
}

我创建一个 data.frame 像这样:

results_df <- data.frame(condition = c(rep("DD", 10000), rep("DR", 10000), rep("RR", 10000)))

我希望能够获得从返回的向量get_answer,对于列中的条件condition,并将返回的值分成两列——第一个值进入列P1第二个进入专栏P2.

像这样的东西:

results_df %>% mutate(p1 = get_answer(condition, .6, .4)[0], p2 = get_answer(condition, .6, .4)[1])

在 dplyr 中执行此操作的正确方法是什么?


该函数未矢量化。因此,我们需要将其应用到每一行rowwise。另外,索引在R开始于1并不是0

library(dplyr)
results_df %>%
     rowwise %>%
     mutate(p1 = get_answer(condition, .6, .4)[1], 
             p2 = get_answer(condition, .6, .4)[2])

我们可以有一个,而不是调用该函数两次list列,然后使用unnest_wider from tidyr

library(tidyr)
library(stringr)
out <- results_df %>%
    rowwise %>%
    mutate(p1 = list(get_answer(condition, .6, .4) %>%
           as.list)) %>%
    ungroup %>%
    unnest_wider(c(p1)) %>%
    rename_at(-1, ~ str_c('p', seq_along(.)))
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 dplyr mutate 将向量分成两列 的相关文章

  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 如何在不循环的情况下添加组ID?

    我有数据框 例如 productid ordernum p1 10 p2 20 p3 30 p4 5 p5 20 p6 8 我想添加另一列 称为 groupid 它将产品按顺序分组在一起 一旦 sum ordernum 达到 30 分配一个
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • R 中的发散积分可在 Wolfram 中求解

    我知道我以前问过同样的问题 但由于我是新来的 这个问题问得不好而且不可重现 因此我在这里尝试做得更好 如果我只编辑旧的 可能没有人会读它 我有一个想要积分的二重积分 ff lt function g t exp 16 g exp 8 t t
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 逻辑回归/二项式的 glmnet 误差

    当尝试将 glmnet 与 family binomial 配合以进行逻辑回归拟合时 出现此错误 gt data lt read csv DAFMM HE16 matrix csv header F gt x lt as data fram
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • ggplot散点图中的图例问题

    我想使用 ggplot 创建显示方法比较数据的散点图 绘图应包含原始数据 理想线和带误差的拟合线 图例应显示理想线和拟合线的线型 线宽 线颜色 我可以获得大部分我想要的东西 但是图例存在以下问题 图例显示每种线型有 2 条线 为什么 如何解
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr

随机推荐

  • 模板专业化:非内联函数定义问题

    以下代码可以正确编译 include
  • ActionScript 属性 - 公共 Getter、受保护的 Setter

    是否有可能拥有一个具有公共 getter 和受保护 setter 的属性 我有以下代码 public class Mob extends Sprite snip private var health Number tried making
  • 有人可以向我解释一下 PHP 中的 pack() 函数吗?

    我想了解更多关于pack PHP 中的函数 https secure php net manual en function pack php https secure php net manual en function pack php
  • 如何在 Qt 中上移选定行

    我有一个QTableView有 3 行和 2 列 这里我使用的是QStandardItemModel 我想在单击 QPushButton 时向上 向下移动一行 如何在中向上 向下移动一行QTableView 感谢您的回复瓦汉乔 我已经尝试过
  • Android 中的 Mifare Ultralight C 身份验证 (2.3.6)

    我正在尝试验证 Mifare Ultralight C ISO IEC 14443 2 和 14443 3 A 型兼容 标签 我使用Android中提供的MifareUltralight transceive 函数发送身份验证命令 我还检查
  • 在 tomcat catalina.properties 中注入环境变量 [Kubernetes]

    我正在使用 kubernetes 进行 Web 应用程序部署 containers name myapp image tomcat8 jre8 latest imagePullPolicy Always env name DATABASE
  • 如何更改 Winforms 中的 TrackBar 刻度颜色?

    我有一个使用轨迹栏的 winforms 应用程序 BackColor 属性可以更改 但这样做会使每个 刻度 的颜色几乎不可见 我没有看到修改 勾号 颜色的显式属性 我是否缺少某些东西或改变蜱虫颜色的方法 TrackBar 是本机 Windo
  • Apollo 2.1 中的多重查询/变更

    我需要一些使用 Apollo 2 1 中新的查询和突变组件的帮助 尤其是多个查询和突变 我有以下问题 我有一个 graphql 请求 该请求取决于之前的 graphql 结果 我该如何处理这个问题 如何在已经有查询的组件中添加两个不同的突变
  • 设置 Linux 中可用物理内存总量的限制

    我知道我应该设置mem MEMORY LIMIT 但我不知道在运行时或启动时该去哪里 以便对操作系统控制的总物理内存设置限制 我正在运行 I O 基准测试 并且我想限制可用的总体物理内存量 我找到了我正在寻找的答案 基本上 设置总可用物理内
  • 关于tinymce的“windowManager.open”方法的“body”参数

    我正在查看这个创建tinyMCE插件的示例 我想做的是打开 弹出窗口 弹出窗口内的内容以编程方式指定 无需在特定 url 加载物理页面 在tinymce容器中添加type file的输入元素 https stackoverflow com
  • GetQueuedCompletionStatus 永远阻塞

    我正在编写一个服务器应用程序 我想使用 IOCompletion 端口 因此我为服务器编写了一个原型 但我遇到了 GetQueuedCompletionStatus 的问题 它永远不会返回 它会阻塞 下面是我的代码 bool CreateS
  • UserControl 依赖属性设计时

    我正在 WPF 中创建一个简单的用户控件 其中包含一个按钮内的 TextBlock
  • 如何在数据源位置中使用sitecore查询? (动态数据源)

    是否可以将数据源位置 而不是数据源 设置为 sitecore 查询 我想要做的是将子布局的数据源位置设置为包含它的项目 当前项目 下的文件夹 子布局数据源位置应指向当前项目下的文件夹 所以我尝试将数据源位置设置为query Items 但这
  • 在讨论编程语言时,“强大”意味着什么?

    在编程语言讨论 比较的背景下 术语 能力 是什么意思 它有明确的含义吗 即使是一个定义不明确的含义 假设有人说 X 语言比 Y 语言更强大 或提出相同的问题 他们的意思是什么 或者他们想找出什么信息 它没有明确定义的含义 在这些类型的讨论中
  • Android 锁屏 C# .NET 副本

    我希望在 Visual Studio C 中创建一个模仿 Android 模式锁定屏幕的应用程序 并且想知道是否有人有任何这样做的提示 这不是一个商业项目 不会赚钱 只是一点乐趣 我一直在玩 WPF 项目 现在不知所措 我想到的唯一方法是在
  • Spark 中的 Dataframe 连接可以保留顺序吗?

    我目前正在尝试将两个数据帧连接在一起 但在其中一个数据帧中保留相同的顺序 From 哪些操作保留 RDD 顺序 https stackoverflow com questions 29284095 which operations pres
  • React Native + Firebase 存储:base64 和 blob 不起作用

    我试图将我的图像文件编码为 base64 或 blob 但它们都不起作用 我也在用这个 https github com react community react native image picker https github com
  • 如何在 Pnotify 中将焦点设置在按钮上

    我在我的项目中使用 pnotify Alert jquery 我试图在弹出对话框时将焦点设置在 确定 按钮上 这样用户只需按 Enter 或空格键即可关闭对话框 但无法做到这一点 这是 pnotify 的链接 http sciactive
  • Ruby“.downcase!”和“downcase”混淆

    我刚刚开始 Ruby 编程 我读过小写和小写的区别 在红宝石中 https stackoverflow com questions 709229 difference between downcase and downcase in rub
  • 使用 dplyr mutate 将向量分成两列

    假设我有以下功能 get answer lt function condition dp rp if condition DD result lt rbinom n 2 size 1 prob dp if condition in c DR