当前位置: 首页 > 知识库问答 >
问题:

在R中;如何使用str_extract和mutate在现有列的基础上向dataFrame添加新的“标志”列(T/F)

冯俊英
2023-03-14

使用R(在RStudio中)。我需要一个新的标志列,指示在我的数据帧的一列中命名的药品组件的存在,该组件可以独立存在,也可以是几个组件中的一个。新列需要在dataframe中,因为它将用作关系数据库中的查找表(它在一列中有唯一的键变量)。如何使用Str_extract和mutate来完成这一任务(或者应该采用其他方法)?

我有一个14列400K加行的数据帧。行是个别特定的药品,列描述其成分。其中一栏包含药品的通用名称。此列中的大多数行有一个单一的药物名称,有些行有多个药物成分,例如写为对乙酰氨基酚/伪麻黄碱/布洛芬。在数百种不同的药物名称中,我对大约50种特定的仿制药感兴趣。比如布洛芬。我将需要一个列来标记特定药物是否包含在通用名中,即有一个值为TRUE或false。我需要将其添加到数据框架中,因为其他列包含其他特征,包括在另一个关系数据库中匹配药物的键。我的想法是使用str_detect(在stringr中)来匹配药物名称列中的布洛芬,并在使用mutate(tidyr,dplyr)创建的新列“contains_ibuprofen”中给出值TRUE或FALSE。如何使用Str_extract和mutate来完成这一任务(或者应该采用其他方法)?

我不知道如何在带有mutate的数据帧上使用str_detect来创建新列。还是应该使用不同的方法?

共有1个答案

杨良平
2023-03-14

这里有一种方法(如果我正确理解了这个问题的话)

library(tidyverse)

  df <- tribble(~columnx, ~generic,
  'foo', 'acetaminophen/pseudoephedrine/ibuprofen',
  'bar', 'dostinex',
  'mike', 'lipator',
  'bill', 'cabergoline',
  'pete', 'asprin/ibuprofen')

  df %>% 
    mutate(Contains_Ibuprofen = str_detect(generic, 'ibuprofen'))
 类似资料:
  • 本文向大家介绍在Python中的Pandas中向现有DataFrame添加新列,包括了在Python中的Pandas中向现有DataFrame添加新列的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习如何在pandas中向现有DataFrame添加新列。我们可以有不同的方法来添加新列。让我们所有人。 使用列表 我们可以使用该列表添加新列。请按照以下步骤添加新列。 算法 让我们看一个例

  • 本文向大家介绍向Pandas中的现有DataFrame添加新列,包括了向Pandas中的现有DataFrame添加新列的使用技巧和注意事项,需要的朋友参考一下 Pandas 数据框是一种二维数据结构,即,数据以表格的形式在行和列中对齐。可以使用python dict,list和series等创建它。在本文中,我们将看到如何在现有数据框中添加新列。因此,首先让我们使用pandas系列创建一个数据框。

  • 问题内容: 我有以下索引的DataFrame,其中的命名列和行不是连续数字: 我想在现有数据框架中添加新列,并且不想更改数据框架中的任何内容(即,新列的长度始终与DataFrame相同)。 我尝试了不同的版本,但我没有得到我想要的,最多只是错误的结果。如何e在上面的示例中添加列? 问题答案: 使用原始的df1索引创建系列: 编辑2015年 有些人报告使用此代码。 但是,该代码仍可以在当前的熊猫0.

  • 我有一个如下的数据框。我需要在现有列的基础上创建一个新列。 输出数据帧看起来像这样 我用来寻找col3的逻辑是如果col1计数 我熟悉如何在sql中实现这一点。但很难找到数据帧DSL的解决方案。任何帮助都将不胜感激。谢谢

  • 初始数据流: 产生的数据frame: 我通常通过使用以下内容将新列“追加”到dataframe:

  • 那么,如何使用PySpark向现有的DataFrame添加一个新列(基于Python vector)呢?