我有这个虚拟输入数据框。(输入数据框无法更改)
data <- data.frame(c('c(a1, a10)'),
c('c(b1, b10)'),
stringsAsFactors = FALSE)
colnames(data) <- c('A', 'B')
head(data)
# A B
#1 c(a1, a10) c(b1, b10)
Run Code Online (Sandbox Code Playgroud)
我想将此数据框转换为下面的数据框。Tidyverse、dplyr方法会有所帮助。
# A B
#1 a1 b1
#2 a10 b10
Run Code Online (Sandbox Code Playgroud)
您可以删除角色周围的附加文本并使用separate_rows
.
library(dplyr)
library(tidyr)
data %>%
mutate(across(.fns = ~gsub('c\\(|\\)', '', .))) %>%
separate_rows(A:B, sep = ',\\s*')
# A B
# <chr> <chr>
#1 a1 b1
#2 a10 b10
Run Code Online (Sandbox Code Playgroud)