首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用dplyr创建一个以R中另外两个列的出现为条件的新列?

如何使用dplyr创建一个以R中另外两个列的出现为条件的新列?
EN

Stack Overflow用户
提问于 2020-11-09 17:36:20
回答 2查看 38关注 0票数 0

我想创建一个country_year变量,该变量以国家和年份的出现为条件,如下所示,在我创建的这个小样本中。这意味着,如果我有两个国家/地区的年份不同,则新的country_year变量的值将为country1_year1country1_year2等。

这看起来很简单,但我是R的新手,我试图寻找针对它的不同问题,但没有成功。有人能帮我引路吗?

代码语言:javascript
运行
AI代码解释
复制
structure(list(id = structure(c(1, 1, 1, 2, 2, 2), format.stata = "%9.0g"), 
    country = structure(c("US", "US", "US", "UK", "UK", "UK"), format.stata = "%9s"), 
    year = structure(c(2003, 2004, 2005, 2003, 2004, 2005), format.stata = "%9.0g"), 
    country_year = structure(c(1, 2, 3, 4, 5, 6), format.stata = "%9.0g")), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-09 17:42:10

看起来您想要创建一个新的变量country_year

使用base R:

代码语言:javascript
运行
AI代码解释
复制
df$country_year <- paste0(df$country, "_", df$year)

使用dplyr:

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

df %>% 
  mutate(country_year = paste0(country,"_",year))

这为我们提供了:

代码语言:javascript
运行
AI代码解释
复制
     id country  year country_year
  <dbl> <chr>   <dbl> <chr>       
1     1 US       2003 US_2003     
2     1 US       2004 US_2004     
3     1 US       2005 US_2005     
4     2 UK       2003 UK_2003     
5     2 UK       2004 UK_2004     
6     2 UK       2005 UK_2005     
票数 1
EN

Stack Overflow用户

发布于 2020-11-09 18:14:51

tidyverse的一个选项是

代码语言:javascript
运行
AI代码解释
复制
library(dplyr)
library(tidyr)
df %>%
     unite(country_year, country, year, sep="_", remove = FALSE)

-output

代码语言:javascript
运行
AI代码解释
复制
# A tibble: 6 x 4
#     id country_year country  year
#  <dbl> <chr>        <chr>   <dbl>
#1     1 US_2003      US       2003
#2     1 US_2004      US       2004
#3     1 US_2005      US       2005
#4     2 UK_2003      UK       2003
#5     2 UK_2004      UK       2004
#6     2 UK_2005      UK       2005
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64756487

复制
相关文章
SVG基础
SVG可缩放矢量图形Scalable Vector Graphics是基于可扩展标记语言XML,用于描述二维矢量图形的一种图形格式。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式,SVG于2003年成为W3C推荐标准。
WindRunnerMax
2020/08/27
2.4K0
SVG图像技术摘要
该公司今天没有,研究了最近流行SVG技术,发现,随着css3不断流行,和浏览器技术的发展,SVG网站将取代大量的图片,成为主流站点图片展示。
全栈程序员站长
2022/07/06
1.3K0
SVG绘制星空效果
主要代码: 代码详见GitHub:https://github.com/toly1994328/svg-night: svg星空 <!DOCTYPE html> <html lang="en">
张风捷特烈
2018/09/26
1.4K0
SVG基础知识
之前有提到过SVG描边动画,可以实现很神奇的手写签名动画效果,当然,理论上可以用来实现任意不规则路径填充动画
ayqy贾杰
2019/06/12
2.1K0
一篇文章带你了解SVG 蒙版(Mask)
SVG蒙版功能可将蒙版应用于SVG形状。蒙版可确定SVG形状的哪些部分可见,以及具有什么透明度。运行效果可以将SVG蒙版视为剪切路径的更高级版本。
前端皮皮
2020/11/26
2K0
一篇文章带你了解SVG 蒙版(Mask)
SVG基础知识速查笔记
svg是指可缩放矢量图形,是用于描述二维矢量图形的一种图形格式。svg使用XML格式来定义图形,除ie8之前版本外,绝不部分浏览器均支持svg,可将svg文本直接嵌入HTML中显示。
前端_AWhile
2019/09/06
2K0
带你轻松打开svg滤镜的大门
本文介绍了SVG滤镜的用法,包括如何定义和使用滤镜、如何给不同的SVG元素添加滤镜、以及通过编程方式控制滤镜等。同时,还介绍了在网页中应用SVG滤镜的方法,包括使用SVG元素、使用CSS滤镜、以及使用JavaScript控制滤镜等。此外,还提供了若干示例和代码片段供参考。
练小习
2017/11/30
1.3K0
SVG绘图高斯模糊滤镜
运用SVG绘图实现一个模糊字体效果,比用CSS的阴影写出来的要好看的多。 实现效果如下: 实现代码如下: <!DOCTYPE html> <html> <head lang="en"> <me
越陌度阡
2020/11/26
6640
SVG绘图高斯模糊滤镜
一篇文章带你了解SVG 阴影
所有互联网的SVG滤镜定义在<defs>元素中。<defs>元素定义短并含有特殊元素(如滤镜)定义<filter>标签用来定义SVG滤镜。
前端进阶者
2021/03/03
9180
一篇文章带你了解SVG 阴影
三种方式:object、embed、mask引用 Svg 并更改样式
方式1:使用Object、embed标签引入 html <div class="item"> <object data="test.svg" type="image/svg+xml"></object> <embed src="test.svg" type="image/svg+xml" /> </div> 更改颜色,大小可通过css处理 .item { overflow: hidden; object,embed { cursor: pointer; filter: dro
White feathe
2022/04/21
1.2K0
带你轻松打开svg滤镜的大门
本文介绍了SVG滤镜的用法,包括模糊、失真、暗角、浮雕等效果,并通过实例进行演示。同时介绍了如何在DOME中自定义属性,以及常见的SVG图像的fallback方案。
练小习
2017/12/29
1.2K0
带你轻松打开svg滤镜的大门
css实现文字颜色渐变
background: -webkit-linear-gradient(…) 为文本元素提供渐变背景。 webkit-text-fill-color: transparent 使用透明颜色填充文本。 webkit-background-clip: text 用文本剪辑背景,用渐变背景作为颜色填充文本。
javascript.shop
2019/09/04
3.6K0
【开源游戏/网络游戏】勇士的战争!
图片演示: 代码摘要: HTML: <div id="preloadScreen" class="preload-screen external-screen"> <div class="cente
用户5997198
2019/12/19
1.6K0
SVG - 基本的SVG属性
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。 line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo <line x1 = "20" y1 = "20" x2 = "200" y2 = "180" st
HTML5学堂
2018/03/12
4.1K0
一篇文章带你了解SVG 渐变知识
渐变是一种从一种颜色到另一种颜色的平滑过渡。另外,可以把多个颜色的过渡应用到同一个元素上。
前端皮皮
2020/11/26
1.2K0
一篇文章带你了解SVG 渐变知识
mask
https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask
阿超
2022/12/27
7040
mask
有意思!强大的 SVG 滤镜
想写一篇关于 SVG 滤镜的文章已久,SVG 滤镜的存在,让本来就非常强大的 CSS 如虎添翼。让仅仅使用 CSS/HTML/SVG 创作的效果更上一层楼。题图为袁川老师使用 SVG 滤镜实现的云彩效果 -- CodePen Demo -- Cloud (SVG filter + CSS)。
Sb_Coco
2021/03/30
1.7K0
有意思!强大的 SVG 滤镜
SVG快速入门小白篇
SVG .svg 使用xml语法 <?xml version='10.' standalone='no'> standalone 规定此SVG文件是否是独立的 或者是说含有外部文件的引用 在html中
起名字好难哟
2021/08/30
1.1K3
SVG快速入门小白篇
前端-SVG 实现动态模糊动画效果
今天我们将向大家展示如何制作SVG动态模糊效果,并将其应用于HTML元素的常规JS或CSS动画。
grain先森
2019/03/29
2.5K0
前端-SVG 实现动态模糊动画效果
SVG绘制渐变颜色文字
H5提供了很多有意思的新特性,工作中用的比较少,但是这仍然不能阻碍我们对它的兴趣,先给大家上个图,如果要用CSS来写这个效果,如何才能实现呢?
越陌度阡
2020/11/26
2.2K0
SVG绘制渐变颜色文字

相似问题

@KafkaListener只有在满足一定条件时才拉取新数据,如果条件不成立,则应停止拉取数据,直至满足条件为止

113

拉取某列中编号最小的行

43

仅当满足两个条件时才从SQL拉取

10

当某列中具有相同值的其他行满足条件时更新行

11

根据一定条件拉取ManytoOne

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档