我需要在数据框内的一个因素中使用姓名电话号码进行一些操作。 变量必须是数字,长度为5 也不包含特殊字符 我想将格式AO-11111,VQ-11111从更改为111111,这意味着擦除第一个字符,最后将其余变量转换为na
我的data.frame是从.csv文件派生的.initial phone_number是一个因子数据 电话号码 VQ-40773 VQ-43685 VQ-44986 40270 41694 42623 。
答案 0 :(得分:0)
strsplit函数将帮助您获取值输出字符串。
str="VQ-40773"
(strsplit(str,"-"))[[1]][2] //will return 40773
答案 1 :(得分:0)
如果你想删除破折号之前的任何内容,那么:
sub("^([^-]+[-])(.+)", "\\2", phone_number)
> phone_number <- scan(what="")
1: VQ-40773
2: VQ-43685
3: VQ-44986
4: 40270
5: 41694
6: 42623
7:
Read 6 items
> sub("^([^-]+[-])(.+)", "\\2", phone_number)
[1] "40773" "43685" "44986" "40270" "41694" "42623"
> as.numeric(sub("^([^-]+[-])(.+)", "\\2", phone_number))
[1] 40773 43685 44986 40270 41694 42623
nchar
函数允许检查字符向量的长度。发布一个充分的例子,并且,请做出更大的努力以使标点符号和大小写正确。