如何在R中将一行拆分为多行

Nad*_*ham 7 r

为了简单起见,假设我在数据框中有一个列,如下所示,每行包含多个国家/地区 ,

df <- data.frame(
                  countries = c(
                                "UK , Spain , Germany , Italy , Netherlands" , 
                                "UK , Canada , AUS , China" , 
                                "Spain , AUS , Italy , Russia"
                                )
                )
Run Code Online (Sandbox Code Playgroud)

这就是数据的样子

                   countries
1 UK , Spain , Germany , Italy , Netherland
2                 UK , Canada , AUS , China
3              Spain , AUS , Italy , Russia
Run Code Online (Sandbox Code Playgroud)

我们怎样才能将它变成类似的东西

  countries
1   UK
2   Spain
3   Germany
4   Italy
5   Netherlands
6   UK
7   Canada
8   AUS
9   China
10  Spain
11  AUS
12  Italy
13  Russia
Run Code Online (Sandbox Code Playgroud)

nic*_*ola 6

你试一试:

data.frame(countries = unlist(strsplit(as.character(df$countries), " , ")))
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用“tidyr”包中的“separate_rows”:

df = separate_rows(df,1,sep = ",")
Run Code Online (Sandbox Code Playgroud)