我想将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
命令来清理标签,但无济于事。
任何帮助表示赞赏。