相关疑难解决方法(0)

最后一个下划线后分隔字符串

这确实是这个问题的重复 r-split-string-using-tidyrseparate,但我不能将 MWE 用于我的目的,因为我不知道如何调整正则表达式。我基本上想要同样的东西,但在最后一个下划线之后分割变量。

原因:我的数据中某些列针对相同因素/类型多次出现。我想我可以将数据在类型字符串之前将值变量分开,然后将其再次展开为具有较少列的宽格式。我的问题是我的变量名有不同的几个下划线,我想学习如何在我事先添加的最后一个下划线之后分隔。

微量元素

library(tidyr)
library(data.table)
dt<-data.table(Name=c("A","B","C"),Var_1_EVU=c(2,NA,NA),Var_1_BdS=c(NA,3,4),Var_2_BdS=c(NA,3,4))
dt.long<-melt(dt, id.vars=c("Name"))
dt.long<-separate(dt.long,variable, c("test","type"), sep='/[^_]*$/')
dt.wide<-spread(dt.long,key=Name,value=value) 
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

   Name type Var1 Var2
1:    A  BdS   NA   NA
2:    A  EVU    2   NA
3:    B  BdS    3    3
4:    B  EVU   NA   NA
5:    C  BdS    4    4
6:    C  EVU   NA   NA
Run Code Online (Sandbox Code Playgroud)

r melt data.table tidyr tidyverse

5
推荐指数
1
解决办法
3428
查看次数

标签 统计

data.table ×1

melt ×1

r ×1

tidyr ×1

tidyverse ×1