如何在数据框的因子中操纵变量

时间:2015-09-27 05:29:10

标签: r

我需要在数据框内的一个因素中使用姓名电话号码进行一些操作。  变量必须是数字,长度为5 也不包含特殊字符 我想将格式AO-11111,VQ-11111从更改为111111,这意味着擦除第一个字符,最后将其余变量转换为na

我的data.frame是从.csv文件派生的.initial phone_number是一个因子数据 电话号码 VQ-40773 VQ-43685 VQ-44986 40270 41694 42623 。

2 个答案:

答案 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函数允许检查字符向量的长度。发布一个充分的例子,并且,请做出更大的努力以使标点符号和大小写正确。