我有一个数据库如下:
col1 <-c("X1",";X2","X3;X4;X5","X6;X7")
[1] "X1" ";X2" "X3;X4;X5" "X6;X7"
col2 = col3 = col4 <- c("5","8","4","1")
[1] "5" "8" "1" "4"
dat <- data.frame(col1,col2,col3,col4)
dat
col1 col2 col3 col4
1 X1 5 5 5
2 ;X2 8 8 8
3 X3;X4;X5 4 4 4
4 X6;X7 1 1 1
Run Code Online (Sandbox Code Playgroud)
我想删除第 1 列中的分号,如果第 1 列包含超过一个 X,它将重复新行。此外,第 2 列和第 3 列将重复值,第 4 列将替换为值 0。我预计它将是:
dat
col1 col2 col3 col4
1 X1 5 5 5
2 X2 8 8 8
3 X3 4 4 …Run Code Online (Sandbox Code Playgroud)