【发布时间】:2012-08-27 08:19:34
【问题描述】:
我正在使用readLines 读取文本格式的数据文件。第一个“列”是我不需要的复杂文本。接下来的列包含我确实需要的数据。第一个“列”和数据用冒号 (:) 分隔。我希望在第一个冒号处拆分每一行并删除生成的文本字符串,只保留数据。
下面是一个示例数据文件。一种潜在的复杂情况是一行数据包含多个冒号。那条线可能会在某个时候成为我的标题。所以,我可能不应该在每个冒号处拆分,只在第一个冒号处拆分。
my.data <- "first string of text..: aa : bb : cc
next string ........ : 2 0 2
third string......1990: 7 6 5
last string : 4 2 3"
my.data2 <- readLines(textConnection(my.data))
my.data2
我已经尝试过这里显示的代码:
Split on first comma in string
这里:
R: removing the last three dots from a string
上面第一个链接的代码似乎只在第一行的第一个冒号处拆分。第二个链接的代码可能会做我想做的事,但到目前为止我无法成功修改它。
这是我希望获得的数据,此时我可以使用非常简单的gsub 语句将第一行中剩余的冒号替换为空格:
aa : bb : cc
2 0 2
7 6 5
4 2 3
对不起,如果这是我没有找到的帖子的重复,并感谢您的任何建议或帮助。
【问题讨论】: