我有这个数据表(摘录)
DT <- data.table(ANNUAL = c("HR.PREN.B","HR.PREN.B06","HR.PREN.B081"),
X2010 = c("102.1","121.2","92.5#s")
)
我要从中生成的
AREA作为年度报告的第一部分
INDIC作为年度第二部分
INDUS作为ANNUAL的第三部分
我尝试将strsplit与[。]一起使用进行拆分,但无法解决。 此外,当准备好X2010中的值时,我想提取值(在#号之前),然后使用#号之后的内容创建一个新的变量cONF(但在这里我想我可以使用与ANNUAL相同的技巧)。 谢谢您的帮助
答案 0 :(得分:0)
这是在tidyverse
对象中使用data.table
的选项
library(tidyverse)
setDT(DT[, .SD %>%
separate(ANNUAL, into = c("AREA", "INDIC", "INDUS")) %>%
mutate(cONF = str_remove(X2010, "#.*"))])[]
# AREA INDIC INDUS X2010 cONF
#1: HR PREN B 102.1 102.1
#2: HR PREN B06 121.2 121.2
#3: HR PREN B081 92.5#s 92.5