库(tidyverse)中 separate() 命令的 sep 参数问题
Problems with the sep argument to the separate() command in library(tidyverse)
我是(非常!)使用 R 的新手,并且面临一个可能(非常!)容易解决的问题。我正在寻求分隔一列字符,并且 - 虽然它是在没有指定分隔字符的情况下为我自动完成的 - 我希望能够指定字符以避免歧义。
这是一个例子:
economists <- tibble(name = c("Adam.Smith", "Paul.Samuelson", "Milton.Friedman"))
economists %>%
separate(name, c("first_name", "last_name"), sep=".")
这会产生这个:
# A tibble: 3 x 2
first_name last_name
<chr> <chr>
1 "" ""
2 "" ""
3 "" ""
Warning message:
Expected 2 pieces. Additional pieces discarded in 3 rows [1, 2, 3].
我更喜欢它生成这个:
# A tibble: 3 x 2
first_name last_name
<chr> <chr>
1 Adam Smith
2 Paul Samuelson
3 Milton Friedman
当我没有指定列用句点分隔时,它会做什么。
我错过了什么?
试试这个:
economists <- tibble(name = c("Adam.Smith", "Paul.Samuelson", "Milton.Friedman"))
economists %>%
separate(name, c("first_name", "last_name"), sep="\.")
# A tibble: 3 x 2
first_name last_name
<chr> <chr>
1 Adam Smith
2 Paul Samuelson
3 Milton Friedman
我是(非常!)使用 R 的新手,并且面临一个可能(非常!)容易解决的问题。我正在寻求分隔一列字符,并且 - 虽然它是在没有指定分隔字符的情况下为我自动完成的 - 我希望能够指定字符以避免歧义。
这是一个例子:
economists <- tibble(name = c("Adam.Smith", "Paul.Samuelson", "Milton.Friedman"))
economists %>%
separate(name, c("first_name", "last_name"), sep=".")
这会产生这个:
# A tibble: 3 x 2
first_name last_name
<chr> <chr>
1 "" ""
2 "" ""
3 "" ""
Warning message:
Expected 2 pieces. Additional pieces discarded in 3 rows [1, 2, 3].
我更喜欢它生成这个:
# A tibble: 3 x 2
first_name last_name
<chr> <chr>
1 Adam Smith
2 Paul Samuelson
3 Milton Friedman
当我没有指定列用句点分隔时,它会做什么。
我错过了什么?
试试这个:
economists <- tibble(name = c("Adam.Smith", "Paul.Samuelson", "Milton.Friedman"))
economists %>%
separate(name, c("first_name", "last_name"), sep="\.")
# A tibble: 3 x 2
first_name last_name
<chr> <chr>
1 Adam Smith
2 Paul Samuelson
3 Milton Friedman