在 R 中创建一个长字符串向量
Creating a long vector of strings in R
我在电子表格中有一长列姓名。
这些名字本质上是用空格与 first/middle 名字的首字母分隔的姓氏。
示例:
DUAN W
GU B
WHINSTON AB etc.
我需要像这样的向量
names <- c("DUAN W","GU B","WHINSTON AB")
当然,我可以在电子表格中完成所有这些预处理,然后粘贴到 R 中。
但我想知道这是否可以在 R 中使用,比如说,paste() 来完成。
由于我必须反复这样做,有没有办法避免每次都写电子表格公式?
假设您的工作簿是 NAMES.xlsx
library(tidyverse)
# Read them in from the Excel file
readxl::read_excel("C:/temp/NAMES.xlsx") %>%
# Divide the single column in two.
separate(NAMES, into = c("LAST.NAME", "FIRST.NAME"), sep = " ", extra = "merge") %>%
# First name goes before last name
select(FIRST.NAME, LAST.NAME)
# A tibble: 6 x 2
FIRST.NAME LAST.NAME
<chr> <chr>
1 W DUAN
2 B GU
3 AB WHINSTON
4 M MOUSE
5 S MCDUCK
6 PP LEPEW
我在电子表格中有一长列姓名。 这些名字本质上是用空格与 first/middle 名字的首字母分隔的姓氏。
示例:
DUAN W
GU B
WHINSTON AB etc.
我需要像这样的向量
names <- c("DUAN W","GU B","WHINSTON AB")
当然,我可以在电子表格中完成所有这些预处理,然后粘贴到 R 中。 但我想知道这是否可以在 R 中使用,比如说,paste() 来完成。 由于我必须反复这样做,有没有办法避免每次都写电子表格公式?
假设您的工作簿是 NAMES.xlsx
library(tidyverse)
# Read them in from the Excel file
readxl::read_excel("C:/temp/NAMES.xlsx") %>%
# Divide the single column in two.
separate(NAMES, into = c("LAST.NAME", "FIRST.NAME"), sep = " ", extra = "merge") %>%
# First name goes before last name
select(FIRST.NAME, LAST.NAME)
# A tibble: 6 x 2
FIRST.NAME LAST.NAME
<chr> <chr>
1 W DUAN
2 B GU
3 AB WHINSTON
4 M MOUSE
5 S MCDUCK
6 PP LEPEW