首页 > 解决方案 > 将以逗号分隔格式保存的数据转换为不带包的固定宽度格式

问题描述

我有一个以逗号分隔格式保存的数据文件。但是,它应该转换为具有固定宽度的字符串格式。我知道那里有一个包 gdata。但是,由于一些技术限制,我无法安装该软件包。如果没有包,我知道的唯一方法是sprintf通过指定格式来使用。但是,我确实有 100 多个变量。因此,为每个变量编写格式非常繁琐。谁能帮我解决这个问题?任何帮助将不胜感激。

一个例子如下。

x<-data.frame(matrix(c("N",27,"P",3,"C","A","A","B","C","A","B","B","D","C"),nrow=1))

前 4 个变量的宽度是 2,3,2,2,后面的变量只有 1。我想要的结果应该是

N 27 P 3 CAABCABBDC

标签: rfixed-width

解决方案


太糟糕了,你不能使用 gdata。你可以在事后将cols粘贴在一起

x<-data.frame(matrix(c("N",27,"P",3,"C","A","A","B","C","A","B","B","D","C"),nrow=1))

cols <-5:ncol(x) 
x$newccol <- apply( x[ ,cols] , 1 , paste , collapse = "" )
x[ ,cols ] <- NULL

推荐阅读