首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用mutate添加一个关系在另一个表中的新键。Tidyverse/Lubridate/R

在Tidyverse中使用mutate函数添加一个关系在另一个表中的新键是通过数据操作和变形包进行的,而非直接在关系型数据库中进行。Lubridate和R是R语言中用于日期和时间处理的包。

在Tidyverse中,mutate函数用于添加、修改和删除变量,可以通过多种方法实现添加一个关系在另一个表中的新键。以下是一种常见的方法:

  1. 首先,确保你已经加载了tidyverse和lubridate包:
代码语言:txt
复制
library(tidyverse)
library(lubridate)
  1. 假设你有两个表,一个是包含关系的原始表data,另一个是关系表relationship。你想要在原始表中添加一个新的关系键,以关联关系表中的相应记录。
  2. 首先,通过mutate函数在原始表中创建一个新的空列,可以使用任何有效的列名。例如,创建一个名为relationship_key的列:
代码语言:txt
复制
data <- data %>%
  mutate(relationship_key = NA)
  1. 然后,使用merge函数将两个表按照关联条件进行连接。假设关系表中的键列名为relationship_id,原始表中的关系列名为relationship,你可以使用以下代码进行连接:
代码语言:txt
复制
data <- merge(data, relationship, by.x = "relationship", by.y = "relationship_id", all.x = TRUE)

上述代码中的all.x = TRUE表示保留原始表中的所有记录,即使没有匹配的关系。

  1. 最后,使用mutate函数更新新的关系键列。根据具体情况,可以使用任何可用的关系数据来更新新的关系键列。以下是一种常见的方法,假设关系表中的新关系键列名为new_relationship_key:
代码语言:txt
复制
data <- data %>%
  mutate(relationship_key = new_relationship_key)

这样,你就成功地使用mutate函数添加一个关系在另一个表中的新键。

在Tidyverse中还有其他类似的包和函数可供使用,具体根据实际情况选择合适的方法。关于Tidyverse的更多信息和其他相关产品,你可以参考腾讯云的R语言云服务器(CVM)产品(链接:https://cloud.tencent.com/document/product/213/49445)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

翻译|给数据科学家10个提示和技巧Vol.2

library(tidyverse) set.seed(5) df<- tibble(my_date = lubridate::as_datetime( runif(10, 1530000000, 1577739600...添加内容可以使用附加参数-a。例如,想将my_function()添加到文件: %%writefile -a myfile.py my_function() 这时结果如下所示 ? 可以使用!...下面给出一个谷歌文档版本历史例子: 打开谷歌文档。 顶部,点击文件- >版本历史。 左边,你会看到修改日期和作者名字。例如,2019年7月16日下午4点15分,茱莉亚·彭尼修改了文档: ?...5 Linux 5.1 Linux复制一个文件夹 使用Linux等操作系统时,如果想要将一个文件夹从一个目标复制到另一个目标,可以运行以下bash命令: cp -R /some/dir/ /some/...-R表示递归复制目录。也可以使用-r,因为它不区分大小写。

81830

R优雅绘制环状sina图

R创建sina图使用geom_sina函数,sina图是一种用于显示单个分类变量每个观测值图形。它与箱线图和小提琴图类似,但是它显示了每个单独数据点,这可以提供关于数据分布更多信息。...加载R包 library(tidyverse) library(lubridate) library(scico) library(ggforce) 导入数据 df <- read_csv("data.csv...)) 数据可视化 df %>% ggplot(aes(x=mth, y=gas_in_storage_t_wh,group=mth)) + # 使用ggforce包geom_sina函数绘制...scico包scale_color_scico函数为图形添加颜色 scico::scale_color_scico(palette="roma", direction=-1,...# 使用cowplot包theme_minimal_grid函数设置主题 cowplot::theme_minimal_grid(12, line_size = .3) + # 设置图例和轴样式

28330
  • R语言ggplot2做漂亮抖动散点图(geom_jitter)一个实例

    在网上偶然间发现一个R语言ggplot2做数据可视化实例,提供数据和代码,今天推文把代码拆解一下 实例数据下载链接 https://www.kaggle.com/berkeleyearth/climate-change-earth-surface-temperature-data...1980年前后温度差异,数据里提供很多个国家数据,可以自己更改成其他国家数据试试 首先是读取数据 这里接触了两个R包 vroom here climate <- vroom::vroom(here...::here("GlobalLandTemperaturesByCountry.csv")) 关于lubridate函数一些用法 lubridate::year("1743-11-01")...,label = F) lubridate::day("1743-11-01") 构建作图数据集 library(tidyverse) monthly % filter...> 1980, "Recent", "Past")) %>% filter(year >=1900) 他这里先做了一个空白热图 注释里写是为了得到一个矩形图例 library(ggplot2

    8.7K21

    R语言ggplot2做双Y轴一个简单小例子

    参考链接 1、https://ggplot2.tidyverse.org/reference/sec_axis.html 2、https://www.r-graph-gallery.com/line-chart-dual-Y-axis-ggplot2...library(tidyverse) library(lubridate) #install.packages("devtools") #install.packages("cli") #library...(date = mdy(paste0(month, "-15-2020"))) 这部分代码大家可以自己试着运行一下,我用R4.0.3版本遇到报错,没有找到解决办法,换成R4.1.0之后运行成功了 我将示例数据保存下来了...,如果以上代码没有运行成功,可以公众号获取数据,保存数据代码 save(df_day,df_hour,df_normal,df_month, file = "20211121.Rdata"...) 首先是一个柱形图,但这里柱形图是通过geom_segment()函数实现 library(ggplot2) library(lubridate) 作图 ggplot() + theme_bw

    4.1K30

    tidyverseR语言中相当于pythonpandas+matplotlib存在

    出版有《R for Data Science》(中文版《R数据科学》),这本书详细介绍了tidyverse使用方法。...install.packages("tidyverse") #安装包 关联包比较多,耐心等待一会儿 library(tidyverse) #使用前,记得载入包 以下讲:readr(读)、tibble.../ 03 — %>%:管道函数 ——将左侧值应用到右侧数据data位置 管道函数tidyverse,管道符号是数据整理主力,可以把许多功能连在一起,而且简洁好看,比起R基本代码更加容易阅读...例如:x %>% f(y) 等价于 f(x,y) Rstudio快捷: ctrl+shift+m 以R自带iris(鸢尾花数据集)为例: > head(iris,n=3) Sepal.Length...#key:将原数据框所有列赋给一个变量key #value:将原数据框所有值赋给一个变量value #…:可以指定哪些列聚到同一列 #na.rm:是否删除缺失值 widedata <-

    4.1K10

    数据处理第2节:将列转换为正确形状

    转换列:基础部分 您可以使用mutate()函数创建列。 mutate选项几乎是无穷无尽:你可以对普通向量做任何事情,可以mutate()函数内完成。...如果要添加另一个数据框信息,可以使用dplyr连接函数。...连接本身就是一个章节,但在这种特殊情况下你会做一个left_join(),即保持我主表(左边),并从另一个向右添加列。 by =语句中,您指定哪些列相同,因此连接知道要添加位置。...示例代码将把不同保护状态描述添加到主msleep。 主要数据包含一个额外“domisticated”标签,我想保留。 这是最后一行用ifelse()完成。...gather函数需要您为描述性列指定名称(“key”),并为值列指定另一个名称(“value”)。 最后需要取消选择您不想收集列。 示例代码,我取消选择列name。

    8.1K30

    数据处理R

    使用plyr包可以针对不同数据类型,一个函数内同时完成split – apply – combine三个步骤。...教程,可以参考官方文档:http://plyr.had.co.nz/ 3.2.2 dplyr dplyr是一个强大R包,用于处理,清理和汇总非结构化数据,使得R数据探索和数据操作变得简单快捷,也是出于...,语法如下: gather(data, key, value, na.rm = FALSE,···) data:需要被转换宽形 key:将原数据框所有列赋给一个变量key value:将原数据框所有值赋给一个变量...教程,可以参考官方文档:https://tidyr.tidyverse.org/ 3.2.4 lubridate R语言基础包中提供了两种类型时间数据 Date类型,仅包括日期数据,它不包括时间和时区信息...Lubridate包可以减少R操作时间变量,内置函数提供了很好解析日期与时间便利方法。lubridate 包是 Hadley Wickham开发用于高效处理时间数据 R 包。

    4.6K20

    R语言第二章数据处理⑤数据框列转化和计算目录正文

    正文 本篇描述了如何计算R数据框并将其添加到数据框。一般使用dplyr R以下R函数: Mutate():计算变量并将其添加到数据。 它保留了现有的变量。...Mutate_at()/ transmutate_at():将函数应用于使用字符向量选择特定列 Mutate_if()/ transmutate_if():将函数应用于使用返回TRUE谓词函数选择列...mutate:通过保留现有变量来添加变量,通过保留现有列来添加列(sepal_by_petal): library(tidyverse) my_data <- as_tibble(iris) my_data...my_data %>% mutate(sepal_by_petal_l = Sepal.Length/Petal.Length) transmute:通过删除现有变量来创建变量,删除现有列,添加列...tbl:一个tbl数据框 funs:由funs()生成函数调用列表,或函数名称字符向量,或简称为函数。predicate:要应用于列或逻辑向量谓词函数。

    4.1K20

    TidyFriday Excel 用户福音! R 实现 Excel 功能

    许多 R 新用户金融、市场、商业分析等领域有丰富行业经验,但是他们并没有太多编程背景,所以日常工作还是选择 Excel、PowerBI 这些传统工具进行工作;tidyquant 作者意识到了这些痛点...(tidyverse) library(tidyquant) library(knitr) R 实现透视 很多 Excel 用户青睐它数据透视表功能,现在 R 也可以通过 pivot_table...R 实现 VLOOKUP Excel 另一个强大函数是 VLOOKUP,VLOOKUP 主要功能如下: ?...company) [1] "Amazon" 不过我们 Excel 中使用 VLOOKUP 是想在一个添加列,这列值要去另一个查找, R 怎么做呢?... R 实现各种「IFS」函数 很多同学喜欢 Excel 是因为它条件筛选功能,比如SUMIFS(), COUNTIFS(), AVERAGEIFS()等; ? R 如何实现呢?

    2.5K30

    如何用R和API免费获取Web数据?

    准备 正式用R调用API前,我们需要进行一些必要准备工作。 首先是安装R。 请先到这个网址下载R基础安装包。 ? R下载位置有很多。建议你选择清华大学镜像,可以获得比较高下载速度。 ?...R Notebook默认提供给我们一个模板,附带一些基础使用说明。 ? 我们尝试点击编辑区域(左侧)代码部分(灰色)运行按钮。 ? 立即就可以看到绘图结果了。...操作 实际操作过程,我们从维基百科上换另外一篇维基文章作为样例,以证明本操作方法通用性。选择文章是我们介绍词云制作时使用,叫做“Yes, Minisiter”。...library(rlist) 我们需要使用其中两个方法,一个是list.select,用来把指定信息抽取出来;一个是list.stack,用来把列表生成数据框。...小结 简单回顾一下,本文我们接触到了以下重要知识点: 获取Web数据三种常见方式及其应用场景; 常见API目录资源获取地址和使用方法; 如何用R来调用API,并且从服务器反馈结果抽取关心数据。

    2.2K20

    R 和 RStudio 安装及 R Profile 配置 & 爬取 CRAN 上所有 R名称、发布日期和标题

    安装常用一些 R 包 可以运行下面的几句命令快速安装一些 R 包: # 安装 devtools install.packages("devtools") # tidyverse 系列 R 包 install.packages...设置 R Profile R Profile 里面的代码会在启动 R 时候自动运行,创建 R Profile 文件可以使用: usethis::edit_r_profile() 运行之后自动会打开一个文件...基于这种设定,使用 R 基础绘图系统绘图结果将会是这样: hist(iris$Sepal.Length) 使用 ggplot2 绘图结果是这样: library(ggplot2) ggplot...一个练习:爬取 CRAN 上所有 R名称、发布日期和标题 可以爬清华镜像源列表:https://mirrors.tuna.tsinghua.edu.cn/CRAN/web/packages.../available_packages_by_date.html 显然,这是个表格,很容易爬取: library(rvest) library(tidyverse) # lubridate 是处理日期一个

    3.5K40

    生信代码:数据处理( tidyverse包)

    大家在学习R语言时候,大多参考《R语言实战》这本书,但这本书年代过于久远(中文第二版是2016年),主要着力点也是R base上,R语言可视化ggplot2包也只是简要介绍,而对于tidyverse...包,《R语言实战》并未涉及,这也导致R语言学习难度增加,今天我们给大家引入tidyverse学习。...Rstudio中加载tidyverse包,可以看到该包下有8个子包,著名ggplot2包即是其中一个子集,我们先着重讲一下数据处理有关包——dplyr包。...1 mutate() mutate()与基础函数transform()相似,都可以添加一列,但是允许引用刚刚创建列: mydata <- tibble(x1=c(2,2,6,4),...) sd_english=sd(score) ) ##summarize返回一个数据框,如果后续要使用到,需要保存下来 5 arrange() R base

    2K10

    使用 ncov 包获取并分析疫情数据

    昨天推文里,我介绍了开发一个最简单 R工作流程,相信不少同学已经对 R开发流程有所了解了,今天我们就用这个 ncov 包获取疫情数据然后分析分析吧!...ncov 对象,初始化过程中所有的数据都会准备好存储 df : df <- ncov$new() # 可以查看 df 所属类 class(df) #> [1] "ncov" "R6" 可以看到...df 是一个 ncov 类,而这个类是基于 R6 类进行封装,下面再看下这个对象存储数据,首先是一些字符串: # 当前时间: df$times #> [1] "截至2月8日12时08分"# 确诊人数...类里封装了一个 plot 函数,这个函数封装了 hchinamap 包 hchinamap 函数,因此可以直接使用 plot() 作用 ncov 对象进行绘图: # 确诊人数省份分布: plot(...冠病毒传染能力:R0 前面已经介绍过 R0 计算了,这里就不再介绍了。

    1.3K20

    R语言学习--R for Data Science(一)

    需要软件 R和RStudio,这本书内容都是RStudio软件完成,RStudio很适合初学者使用,毕竟是专门针对R开发IDE,界面简洁明了,功能很多,操作也比较人性化,有很多好用快捷。...对象和函数 顺便简单介绍下对象和函数,Rstudio,我们导入数据或是自己创建数据都是以对象形式显示环境窗口(储存在了内存里),如我创建了对象a和b,它们值分别是1和2;函数是具有一定功能对象...安装可以rstudioConsole栏命令提示符 > 后输入以下代码: > install.packages("tidyverse") 加载R包 安装好R包需要加载后才能使用,可以用函数library...,conflicts显示是其他包同名函数被屏蔽,dplyr::mutate()这种输入方式可以表明mutate()函数是来自于dplyr包,而且当dplyrmutate()函数被其他R同名函数屏蔽时...rstudio环境下输入函数或者对象时,可以多按Tab,用来补齐函数或对象名,提高输入效率。

    1.8K00

    R||R语言基础(三)_R

    今天继续学习R语言基础R使用,以R包:dplyr为例 数据准备 01 R安装 install.packages(“dplyr”) 或BiocManager::install(“dplyr”)...:102),] 这里“,”怎么理解呢,我们上一期推文中提到,提取元素时z[x,y]指代提取z第x行,第y列,如果我们只需要提取行,则应该写作z[x,],同理,如果只需要提取列,应该写作z[,y]...) 2.管道操作 %>%(CTRL+SHIFT+M) 加载任意一个tidyverse包都可以使用管道符号,啥是tidyverse包呢?...tidyverse一个汇总包,一包更比6包强,用于数据清洗、转换、可视化等。...4.semi_join 半连接:返回能够与y匹配x所有记录semi_join(类似于excelvlookup函数) semi_join(x=test1,y=test2,by='x') 5.

    3.3K50

    R数据科学整洁之道:使用dplyr操作数据

    1、第一个参数是一个数据框。 2、随后参数使用变量名称(不带引号)描述了在数据框上进行操作。 3、输出结果是一个数据框。...数据准备 我们用ggplot2包mpg数据为例,这个表记录了 234 辆汽车品牌、型号、排量以及消耗每加仑汽油高速公路上行驶里程数等数据。...select - 选择列 通过基于变量名操作,select() 函数可以让你快速生成一个有用变量子集。例如,以下命令选择两列:manufacturer 和 model。...- 新增列 除了选择现有的列,我们还经常需要添加列,列是现有列函数。...接下来,分组后数据框上使用 dplyr 函数时, 它们会自动地应用到每个分组。

    90130

    从头学R语言——DAY 3

    学习资源来自生信星球RR包直接在Rstudio页面下载3大来源:官网CRAN、Biocductor、github设置镜像CRAN镜像网站可以直接在tools-global options(或快捷...("stringr")BiocManager::install("limma")加载R包library()或require()都可以library(limma)dplyr包dplyr作为tidyverse...核心包之一,主要用于数据转换。...x所有记录semi_join(x = test1, y = test2, by = 'x')#反连接,返回不能与y匹配x所有记录anti_join(x = test1, y = test2, by...= 'x')列名下3或4个字母缩写,是变量类型:int:整数型变量dbl:双精度浮点数型变量,即实数chr:字符串dttm:日期+时间型变量lgl:逻辑型变量fct:因子,R具有固定数目的值分类变量

    7710
    领券