【发布时间】:2014-03-17 02:42:58
【问题描述】:
我有一个这样的数据框。我生成了第四列(分类单元),它结合了前三列。但是如果 nchar(df$acno) == 5 或 nchar(df$acno) == 4,我想在字母“DC”或“PD”之后添加一个或两个零。这样分类列中的字符串就会是两个字母(DC 或 PD)加上 6 位数字加上 acs 列中的字符(如果有)。 我使用“粘贴”或“substr”函数添加“0”,它给了我类似的警告:要替换的项目数不是替换长度的倍数。如果有人可以帮助我找到最佳解决方案,非常感谢您的帮助。 分类单元列应为:
taxa
DC003654-1
DC004002B
DC004007B
DC002108
DC019976-1
DC029333
PD054606-1
PD086138R
PD019986
PD229333
df = read.table(text="acp acno acs bran taxa
DC 3654 -1 3 DC3654-1
DC 4002 B 3 DC4002B
DC 4007 B 3 DC4007B
DC 2108 2.5 DC2108
DC 19976 -1 2.5 DC19976-1
DC 29333 3 DC29333
PD 54606 -1 4 PD54606-1
PD 86138 R 3 PD86138R
PD 19986 3 PD19986
PD 229333 2.5 PD229333", header=T, stringsAsFactors=F)
【问题讨论】:
标签: r