如何在R中组合多个列

Min*_*ina 1 r tidy

假设我有这个数据集:

     age      height       weight
   "1/2/3"  "12/15/18"   "30/40/37"
Run Code Online (Sandbox Code Playgroud)

我怎样才能拥有像下面的数据集这样的数据集?

   age height weight
    1    12     30
    2    15     40
    3    18     37
Run Code Online (Sandbox Code Playgroud)

如果我的数据集是这样的怎么办:

  name     age      height       weight
 "Jack"  "1/2/3"  "12/15/18"   "30/40/37"
Run Code Online (Sandbox Code Playgroud)

我想要一个如下所示的数据集:

    name  age height weight
   "Jack"  1    12     30
   "Jack"  2    15     40
   "Jack"  3    18     37
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

ben*_*n23 5

如果您不介意使用外部包,则可以separate_rows()tidyr包中使用。

\n
library(tidyverse)\n\ndf %>% separate_rows(-name, sep = "/")\n\n# A tibble: 3 \xc3\x97 4\n  name  age   height weight\n  <chr> <chr> <chr>  <chr> \n1 Jack  1     12     30    \n2 Jack  2     15     40    \n3 Jack  3     18     37    \n
Run Code Online (Sandbox Code Playgroud)\n