在R中拆分一个变量

在R中拆分一个变量,r,split,R,Split,只是一个关于如何拆分变量的快速问题 我创建了一个名为d的数据帧 R代码如下所示 x1 = c(1, 2, 3, 4) x2 = c(5, 6, 7, 8) x1x2 = paste(x1, x2, sep = ",") x3 = c(10, 20) x4 = c(100, 200, 300, 400, 500) d = data.frame(expand.grid(x1x2, x3, x4)) 从数据d中,我如何拆分x1x2变量,从而将x1和x2分开 非常感谢。如果您的意思是为x1和x2创

只是一个关于如何拆分变量的快速问题

我创建了一个名为d的数据帧

R代码如下所示

x1 = c(1, 2, 3, 4)
x2 = c(5, 6, 7, 8)
x1x2 = paste(x1, x2, sep = ",")

x3 = c(10, 20)
x4 = c(100, 200, 300, 400, 500)

d = data.frame(expand.grid(x1x2, x3, x4))
从数据d中,我如何拆分x1x2变量,从而将x1和x2分开


非常感谢。

如果您的意思是为x1和x2创建单独的列,您可以使用
tidyr::separate

library(tidyverse)
d2 <- d %>% 
  separate(Var1, sep = ",", into = c("x1", "x2"))

head(d2)

  x1 x2 Var2 Var3
1  1  5   10  100
2  2  6   10  100
3  3  7   10  100
4  4  8   10  100
5  1  5   20  100
6  2  6   20  100
库(tidyverse)
d2%
分离(Var1,sep=“,”,into=c(“x1”,“x2”))
总目(d2)
x1 x2 Var2 Var3
1  1  5   10  100
2  2  6   10  100
3  3  7   10  100
4  4  8   10  100
5  1  5   20  100
6  2  6   20  100

您可以使用正则表达式

d$x1 <- gsub(".*?,","",d[[1]])
d$x2 <- gsub(",.*","",d[[1]])
?strsplit