小编Rya*_*anL的帖子

将"Name"分隔为数据框的"FirstName"和"LastName"列

我正在努力弄清楚如何在数据帧中将单个"Name"列拆分为同一数据帧中的另外两列FistName和LastName.挑战在于我的一些姓名有几个姓氏.本质上,我想取第一个单词(或字符串的元素)并将其放在FirstName列中,然后将所有后续文本(当然减去空格)放入LastName列.

这是我的DataFrame"tteam"

NAME <- c('John Doe','Peter Gynn','Jolie Hope-Douglas', 'Muhammad Arnab Halwai')
TITLE <- c("assistant", "manager", "assistant", "specialist")
tteam<- data.frame(NAME, TITLE)
Run Code Online (Sandbox Code Playgroud)

我想要的输出是这样的:

FirstName <- c("John", "Peter", "Jolie", "Muhammad")
LastName <- c("Doe", "Gynn", "Hope-Douglas", "Arnab Halwai")
tteamdesire <- data.frame(FirstName, LastName, TITLE)
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码来创建一个只有名称的新数据框,允许我从第一列中提取名字.但是,我无法将姓氏列入任何顺序.

names <- tteam$NAME ##  puts full names into names vector
namesdf <- data.frame(do.call('rbind', strsplit(as.character(names),' ',fixed=TRUE))) 
## splits out all names into a dataframe PROBLEM IS HERE!
Run Code Online (Sandbox Code Playgroud)

r strsplit

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

r ×1

strsplit ×1