Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >根据其他三列中的条件创建新列

根据其他三列中的条件创建新列
EN

Stack Overflow用户
提问于 2021-03-26 06:01:06
回答 1查看 106关注 0票数 1

有人能帮我创建一个基于一些严格标准的新专栏吗?

数据如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
screening consistancyAPP  consistancyVAF consistancyCRF
XXX/01    Missing         50-100% target 50-100% target
XXX/03    0-49% target    0-49% target   0-49% target
XXX/08    Missing         Missing        50-100% target
XXX/13    Missing         Missing        Missing
XXX/09    Missing         0-49% target   50-100% target
XXX/04    0-49% target    0-49% target   50-100% target
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df <- data.frame (screening  = c("XXX/01", "XXX/03", "XXX/08","XXX/13","XXX/09","XXX/04"),
                  consistancyAPP = c("Missing", "0-49% target", "Missing","Missing","Missing","0-49% target"),
                  consistancyVAF = c("50-100% target", "0-49% target", "Missing","Missing","0-49% target","0-49% target"),
                  consistancyCRF = c("50-100% target", "0-49% target", "50-100% target","Missing","50-100% target","50-100% target")
)

新列的条件

  • ,如果所有三个都相同,例如失踪,那么如果两个缺失(例如XXX/08),则取另一个(例如50-100%的目标),
  • ,如果两个一致(例如XXX/01),则该值(例如50-100%的目标)
  • ,如果所有三个不同(XXX/09)都接受较低(0-49%的目标)

f 211

我希望输出结果像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
screening consistancyAPP  consistancyVAF consistancyCRF  consistancyOverall
XXX/01    Missing         50-100% target 50-100% target  50-100% target
XXX/04    0-49% target    0-49% target   0-49% target    0-49% target
XXX/08    Missing         Missing        50-100% target  50-100% target
XXX/13    Missing         Missing        Missing         Missing
XXX/09    Missing         0-49% target   50-100% target  0-49% target
XXX/04    0-49% target    0-49% target   50-100% target  0-49% target
EN

回答 1

Stack Overflow用户

发布于 2021-03-27 06:44:32

您可以编写一个函数,该函数根据条件返回输出并应用于每一行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(dplyr)

calculateOverall <- function(x) {
  tmp <- sort(table(x), decreasing = TRUE)
            #If all three are same
  case_when(n_distinct(x) == 1 ~ first(x),
            #If two missing take other
            sum(x == 'Missing') >= 2 ~ x[x!= 'Missing'][1], 
            #If two in agreement take that value
            tmp[1] >= 2 ~ names(tmp)[1], 
            #If all three different
            n_distinct(tmp) == 1 ~ '0-49% target')
}

df %>%
  rowwise() %>%
  mutate(consistancyOverall = calculateOverall(c_across(starts_with('consistancy'))))

# screening consistancyAPP consistancyVAF consistancyCRF consistancyOverall
#  <chr>     <chr>          <chr>          <chr>          <chr>             
#1 XXX/01    Missing        50-100% target 50-100% target 50-100% target    
#2 XXX/03    0-49% target   0-49% target   0-49% target   0-49% target      
#3 XXX/08    Missing        Missing        50-100% target 50-100% target    
#4 XXX/13    Missing        Missing        Missing        Missing           
#5 XXX/09    Missing        0-49% target   50-100% target 0-49% target      
#6 XXX/04    0-49% target   0-49% target   50-100% target 0-49% target      

或者使用purrr::pmap_chr

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df %>%
  mutate(consistancyOverall = purrr::pmap_chr(select(., starts_with('consistancy')),
                              ~calculateOverall(c(...))))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66818393

复制
相关文章
Ext根据条件显示隐藏列
  写在ExtonReady函数里面,并在表格成功渲染之后,可以添加判断是否隐藏或者显示某一列
河岸飞流
2019/08/09
2.7K0
springboot根据不同的条件创建bean,动态创建bean,@Conditional注解使用
这个需求应该也比较常见,在不同的条件下创建不同的bean,具体场景很多,能看到这篇的肯定懂我的意思。
天涯泪小武
2019/01/17
8.1K0
根据数据源字段动态设置报表中的列数量以及列宽度
在报表系统中,我们通常会有这样的需求,就是由用户来决定报表中需要显示的数据,比如数据源中共有八列数据,用户可以自己选择在报表中显示哪些列,并且能够自动调整列的宽度,已铺满整个页面。本文就讲解一下Act
葡萄城控件
2018/01/10
4.9K0
根据数据源字段动态设置报表中的列数量以及列宽度
在数据框架中创建计算列
在Excel中,我们可以通过先在单元格中编写公式,然后向下拖动列来创建计算列。在PowerQuery中,还可以添加“自定义列”并输入公式。在Python中,我们创建计算列的方式与PQ中非常相似,创建一列,计算将应用于这整个列,而不是像Excel中的“下拉”方法那样逐行进行。要创建计算列,步骤一般是:先创建列,然后为其指定计算。
fanjy
2022/04/13
3.8K0
在数据框架中创建计算列
HBase 根据表名与列信息与配置信息创建表
private static Configuration configuration=null; static{ configuration= HBaseConfigurati
爱明依
2019/03/12
9290
在Excel中创建条件格式图表
问题:希望图表中对于比率为90或以上的呈现绿色,70至90的呈现黄色,低于70的呈现红色。可以在图表中设置条件格式吗?如下图1所示。
fanjy
2023/09/15
4170
在Excel中创建条件格式图表
yhd-ExcelVBA根据条件查找指定文件的数据填写到当前工作表指定列
【问题】当我们要用一个表的数据来查询另一个表的数据时,我们常常是打开文件复制数据源表的数据到当前文件新建一个数据表,再用伟大的VLookup,查询过来。再删除掉数据源,这样才完成。
哆哆Excel
2022/10/25
1.6K0
yhd-ExcelVBA根据条件查找指定文件的数据填写到当前工作表指定列
根据某列相同元素求和
下面是一个需要计算相同基因的exon的长度的文件,即根据相同的基因,先计算基因的起点到终点的距离,再对相同的基因的的exon距离求和
生信编程日常
2020/06/11
9970
根据某列相同元素求和
代码中创建新终端
最常见于使用SecureCRT等工具远程创建打开终端,下面的代码演示在代码中创建打开终端:
一见
2018/08/10
6990
如何根据Excel某列数据为依据分成一个新的工作表
1. Youtube - Derrick Sherrill 2. GitHub
繁华是客
2023/03/03
6.8K0
Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了。但是只支持了一些简单的、常用的条件查询,支持的力度很有限。特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了。由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强。 接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法。 使用 Linq 查询的代码示例 public WarehouseList GetByCod
用户1172223
2018/01/29
2.7K0
MySQL根据条件返回bool值
有时候我希望从数据库中拉取数据时能够获得一些较为复杂的信息,比如获取活动信息时还想知道当前用户是否参加了活动(需要再做一次查询才能判断),为了简化后台逻辑,避免查询两次获得两组结果再合并,我发现了CASE语句。
gojam
2019/05/14
4.2K0
VBA:根据指定列删除重复行
文章背景:在工作生活中,有时需要进行删除重复行的操作。比如样品测试时,难免存在复测数据,一般需要删除第一行数据,保留后一行的数据。
Exploring
2022/09/20
3.2K0
python之条件-循环和其他语句
如何使用print来打印表达式----不管是字符串还是其他类型进行自动转换后的字符串。
py3study
2020/01/15
7560
Vlookup多条件匹配(不用辅助列)
不用辅助列,用Vlookup函数做多条件匹配,具体如下: =VLOOKUP(条件1&条件2,if({1,0},条件1范围&条件2范围,结果范围),2,0) 注意: 1、同时按住CTRL+SHIFT+E
用户1756920
2018/06/21
8.6K0
五大方法添加条件列-python类比excel中的lookup
这是一个excel学习中很经典的案例,先构造评级参数表,然后直接用lookup匹配就可以了,具体不在这讲了,今天讲一下用python怎么实现该功能,总共五种(三大类:映射+numpy+pandas分箱)方法,提前预告下,最后一种数据分箱是与excel 中的 lookup最像的
诡途
2022/01/07
1.9K0
JDK8新特性Stream流的filter方法根据条件过滤list数据【效率很快】
我们经常会遇到需求,把集合里的某条不符合的给过滤掉,生成一个新的list集合。 需求:把list集合里的结束时间不为空的过滤出来,结束时间不为空的中在过滤结束时间是2021年1月1日之后的。
掉发的小王
2022/07/11
3.5K0
JDK8新特性Stream流的filter方法根据条件过滤list数据【效率很快】
如何让pandas根据指定列的指进行partition
UTF-8的问题暂且不谈,现在需要将其作为csv文件读入内存中,并且按照title分成不同的datehour->views表,并按照datehour排序。将2015~2020的数据按照同样的操作进行处理,并将它们拼接成一张大表,最后将每一个title对应的表导出到csv,title写入到index.txt中。
千灵域
2022/06/17
2.8K0
问与答99:如何根据组合条件求和?
Q:如下图1所示的数据排列,每组数据都由“月份、分类、字母、数值”组成,但是月份在单独的行,其他的数据分布在各行中且存在重复。
fanjy
2021/03/12
2.8K0
根据表格特定列的内容来追加图标 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
1.4K0

相似问题

根据其他列的条件创建新列

226

根据其他列的条件创建新列

34

根据其他列的条件创建新列

13

根据其他列的条件创建新列

26

根据其他列的条件创建新列

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文