R的cat函数插入不需要的换行符

时间:2016-03-28 08:18:02

标签: r dataframe frame stata cat

我想将R数据帧中的行写入文本文件。但是,cat会产生不应存在的换行符。

该行的格式很重要,因为这些行是用于标记变量的Stata命令。每行应具有以下格式:

la var MyVarName "My Label"

以下是应该执行此操作的R脚本的一部分,其中数据框在第一列中具有变量名称:

label<-gsub("[\r\n]", "",gsub("[^A-Za-z0-9 _-]", "", str_trim(df$label[j],"both")))

a<-paste('la var X', df[j,1], sep="")
b<-paste(' "',label,'"', sep="")
cat(a,b,sep="",fill = TRUE,file=fn,append = TRUE)

标签没有不可打印的字符和超前/滞后空格。如您所见,我使用j作为索引遍历数据框。

然后

cat生成下面的输出。第一行很好,但由于某种原因,第3行有这个突破,我无法解释为什么

la var 1 "Profit and losses--Trading income"
la var 2 "Profit and losses--Trading income -- broken down"
la var 3
 "Profit and losses--Trading income--of which"

正如您所看到的,我使用了一些gsub命令来清理标签,但无济于事。

任何帮助表示赞赏。

0 个答案:

没有答案