R.在第一个数字处将一个字符串分成两列

时间:2018-04-08 15:43:29

标签: r

我有一个列有很多“Male25”形式的数据,表明性别和年龄。我只是想把这个专栏分成两部分,一部分是性别,另一部分是年龄。 R中最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

我们可以使用separate

library(tidyverse)
as_tibble("Male25" ) %>%
       separate(value, into = c("sex", "age"), "(?<=[a-z])(?=[0-9])", convert = TRUE)
# A tibble: 1 x 2
#  sex     age
#* <chr> <int>
#1 Male     25

答案 1 :(得分:0)

您可以尝试这两种方法

d <- data.frame(a=c("male25","female24","male36","female20"))

cbind(a1=gsub("\\d","",d$a),a2=gsub("\\D","",d$a))

c <- data.frame(a1=gsub("\\d","",d$a),a2=as.numeric(gsub("\\D","",d$a)))