r - 在 r 中将一列设置为多个值

标签 r

我有以下数据,

col <- c('Data1,Data2','a,b,c','d')

df <- data.frame(col)

我想分割一个单元格中元素超过2个的数据。所以“a,b,c”应该分为“a,b”,“b,c”和“c,a”。引用附件。

enter image description here

最佳答案

library(tidyverse)

df %>%
  rowwise()%>%
  mutate(col = list(if(str_count(col, ",")>1) combn(strsplit(col, ",")[[1]], 2, toString) else col))%>%
  unnest(col)
# A tibble: 5 x 1
  col        
  <chr>      
1 Data1,Data2
2 a, b       
3 a, c       
4 b, c       
5 d       

关于r - 在 r 中将一列设置为多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67131999/

相关文章:

r - 如何连接(合并)数据框(内、外、左、右)

R中data.table中的行索引

R - tidyr - 变异并传播多列

r - R中的错误Predictor.new()函数包IML

r - 如何比较多行中的两列

r - 通过控制组将整个数据帧划分为几个子组中的每一个

R: += (plus equals) 和++ (plus plus) 等价于 c++/c#/java 等?

R:多元正交回归,无需显式编写变量名称

r - 如何根据百分比划分数据集?

r - R中条形图中的下划线文本