Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将dataframe写入文件,以便无论列值的长度如何,这些值都是相邻的,没有空格_R_Dplyr_Data.table_Fixed Width - Fatal编程技术网

如何将dataframe写入文件,以便无论列值的长度如何,这些值都是相邻的,没有空格

如何将dataframe写入文件,以便无论列值的长度如何,这些值都是相邻的,没有空格,r,dplyr,data.table,fixed-width,R,Dplyr,Data.table,Fixed Width,我有一个如下所示的数据帧: V1 V2 V3 1 06 1 06 1 1 0 08 1 08 0 1 0 06 1 06 0 1 1061 0611 0081 0801 0061 0601 1 061 061 1 0 081 080 1 0 061 060 1 我想以固定宽度格式写入文本文件,使其如下所示: V1 V2 V3 1 06 1 06 1 1 0 08 1 08 0 1 0 06 1 06 0 1 1061 0611 0081 0801 0061 060

我有一个如下所示的数据帧:

V1 V2 V3
1 06  1
06 1  1
0 08  1
08 0  1
0 06  1
06 0  1
1061
0611
0081
0801
0061
0601
1 061
061 1
0 081
080 1
0 061
060 1
我想以固定宽度格式写入文本文件,使其如下所示:

V1 V2 V3
1 06  1
06 1  1
0 08  1
08 0  1
0 06  1
06 0  1
1061
0611
0081
0801
0061
0601
1 061
061 1
0 081
080 1
0 061
060 1
目前,我正在使用gdata中的write.fwf:

write.fwf(colnames=FALSE, x=df,file='file.txt', sep="")
但这会产生如下输出:

V1 V2 V3
1 06  1
06 1  1
0 08  1
08 0  1
0 06  1
06 0  1
1061
0611
0081
0801
0061
0601
1 061
061 1
0 081
080 1
0 061
060 1
。。这些空间被保留下来

我想我用rowwise()mutate()将每一行转换为一个值,然后输出,或者使用read.table将每一行转换为一行——尽管这似乎会吃掉前导零,这是我需要的


但是我想看看完成这项任务最直观的方法是什么。

您可以按照注释中的建议将其转换为R中的向量,或者使用:

write.table(df, "file.txt", sep = "", quote = FALSE, col.names = FALSE)

do.call(paste0,DF)
@Roland你能详细说明一下吗?-do.call(paste0,df)中出错:一元运算符的参数无效。do.call前面似乎有一个
-
,它是一元运算符。顺便说一句,关于“空间被保留”--您没有提供包含空间的可复制数据。。。我猜我编辑的内容一定不正确;也许你可以纠正它。(我将恢复编辑。)没错。你的解决方案很棒!如果你或@roland想发帖,我会接受。