取消列出 Dataframe ,但仍保留原始 Dataframe

9o685dep  于 2023-02-27  发布在  其他
关注(0)|答案(3)|浏览(144)

我有以下数据,我希望取消列出,使一个新的 Dataframe ,可能更容易在这里,如果我显示显示我在寻找什么;那么我现在有这样的名字和代码,

name                          code
joe blogs/john williams       100000/100001

我想要的:

name                          code
joe blogs                     1000000
john williams                 1000001
joe blogs/john williams       100000/100001

因此,我取消上市的原始,但也保持它,而使一个新的df

qlckcl4x

qlckcl4x1#

像这样的东西可能对你有用

rbind(data.frame(sapply(df, strsplit, "/")), df)
                     name          code
1               joe blogs        100000
2           john williams        100001
3 joe blogs/john williams 100000/100001
数据
df <- structure(list(name = "joe blogs/john williams", code = "100000/100001"), class = "data.frame", row.names = c(NA, 
-1L))
lxkprmvk

lxkprmvk2#

您可以使用seperate_rows()来实现此目的:

library(dplyr)
  library(tidyr)
  df <- data.frame(name = "joe blogs/john williams", 
                   code = "100000/100001") 
  
  df |> 
    separate_rows(everything(), sep = "/") |> 
    bind_rows(df)

# A tibble: 3 × 2
  name                    code         
  <chr>                   <chr>        
1 joe blogs               100000       
2 john williams           100001       
3 joe blogs/john williams 100000/100001
enyaitl3

enyaitl33#

使用reframe

library(dplyr)
df %>% 
  reframe(across(everything(), ~ c(unlist(strsplit(.x, "/")), .x)))
  • 输出
name          code
1               joe blogs        100000
2           john williams        100001
3 joe blogs/john williams 100000/100001

相关问题