我正在努力解析一些困难的数据,只需删除单个空格。我的数据行看起来像下面的例子
[1] " Class Dist Quantity Market Taxable/$ "
[2] " 4-2101 THIS LAND 28 108.85 216797 6352.00 "
[3] "99-9084 FIRE PROTECTION 9084 0.00 0 26.95 "
[4] "99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00 "
如果我可以通过删除单个空格来压缩带连字符的数字和描述,那么我可以使用read.table读取文本。
我怎样才能遍历行并用无空格替换单个空格?结果数据看起来像
[1] " Class Dist Quantity Market Taxable/$ "
[2] " 4-2101THISLAND 28 108.85 216797 6352.00 "
[3] "99-9084FIREPROTECTION 9084 0.00 0 26.95 "
[4] "99-9093COUNTYVALLEYSOIL 9093 0.00 0 6352.00 "
答案 0 :(得分:3)
您可以使用gsub命令。
data$Class <- gsub("\\s{1}(\\S)", "\\1", data$Class)
按照rawr的建议编辑。
答案 1 :(得分:0)
您也可以在不删除属于&#39; Class&#39;的单词之间的空格的情况下执行此操作。列。
("[^"]*"),?|([^,]+),?
v1 <- gsub('^\\s+|\\s+$', '', v1)
v1[-1] <- gsub('(?<=[A-Za-z]|^\\b)\\s*(?=\\d+)', "'", v1[-1], perl=TRUE)
read.table(text=v1, header=TRUE, stringsAsFactors=FALSE, check.names=FALSE)
# Class Dist Quantity Market Taxable/$
#1 4-2101 THIS LAND 28 108.85 216797 6352.00
#2 99-9084 FIRE PROTECTION 9084 0.00 0 26.95
#3 99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00