如何在从R中现有列中提取名称的data.frame中添加列?

水电

我有DF data.frame我想补充另一个column (i.e., call it station_no)在那里将extract是numberunderscoreVariables column

library(lubridate)
library(tidyverse)

set.seed(123)

DF <- data.frame(Date = seq(as.Date("1979-01-01"), to = as.Date("1979-12-31"), by = "day"),
                 Grid_2 = runif(365,1,10), Grid_20 = runif(365,5,15)) %>% 
      pivot_longer(-Date, names_to = "Variables", values_to = "Values")

所需输出:

DF_out <- data.frame(Date = c("1979-01-01","1979-01-01"),Variables = c("Grid_2","Grid_20"), 
                     Values = c(0.95,1.3),    Station_no = c(2,20))
阿克伦

简单的选项是parse_number返回数字转换值

library(dplyr)
DF %>% 
   mutate(Station_no  = readr::parse_number(Variables))

或使用str_extract(以防万一我们想按模式进行操作)

library(stringr)
DF %>%
   mutate(Station_no  = str_extract(Variables, "(?<=_)\\d+"))

或使用 base R

DF$Station_no <-  trimws(DF$Variables, whitespace = '\\D+')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 r 中的嵌套列表 data.frame 中添加列表名称作为列

从 R 中的数据帧列表中提取名称:现有解决方案不起作用

使用带有 grepl 和循环的名称列表从字符串中提取名称,并将它们添加到 R 中的新列

如何在R中的现有列中添加均值

Web在R中抓取:从`href`标签中提取名称

如何在Lambda Node JS中仅从电子邮件中提取名称

如何从数组中的类中提取名称?

如何向现有的 data.frame 添加额外的列,这些列与 data.frame 中已经存在的一个特定列对齐?

r,在data.frame中添加一列

如何从路径中提取名称并将它们添加为 lapply 中列表元素的名称

如何在Flask中的现有表中添加列

在 data.frame 中添加列和列表站点

在空的data.frame中添加一列

在R中的data.frame中的另一列下方添加一列

使用file_b中2列的信息从file_a中提取名称

如何在 R 的数据框中添加新列并使用现有列?

如何在现有的AspNetUsers表中添加列

如何在Sequelize现有模型中添加列?

如何在asp Boilerplate的现有表中添加列?

如何在r中不同列长度的现有数据帧中添加整数?

将行添加到data.frame中,但仅添加到某些列中

R将列添加到data.frame中,即data.frames列表中

无法从R中的文本提取名称

如何在多个列中添加名称?

从数据框中提取名称作为R中的单独数据

R:浏览文件夹中的文件并从中提取名称和数据

如何在Scala中基于H2OFrame中的现有列添加列

如何在JSON中的现有值对中添加名称

从python中的字符串中提取名称