如何在R中为数据框设置跨两列的‘variableStep chrom=1’表头
解决R中数据框转variableStep格式的问题
嘿,我懂你遇到的问题啦!之前尝试修改列名的思路走不通,因为R的数据框列名是和每一列一一对应的,没办法设置一个横跨两列的表头。你要的其实是wiggle格式里的variableStep行,这种格式属于文本输出规范,得通过单独输出表头行+无列名的数据来实现。
具体操作步骤:
先调整数据到目标行数(比如你例子里需要扩展到7行):
如果你的原始数据框是df,可以用下面的代码把行号扩展到7,对应值保持0:# 假设原始df是V1=1:5,V2=0 df <- data.frame(V1 = 1:7, V2 = 0)输出目标格式:
我们需要先单独打印表头行,再输出不带列名和行名的数据:# 输出表头行 cat("variableStep chrom=1\n") # 输出数据,设置分隔符为两个空格,不输出列名、行名和引号 write.table(df, sep = " ", col.names = FALSE, row.names = FALSE, quote = FALSE)
输出效果:
运行上面的代码后,你会得到正好是你想要的格式:
variableStep chrom=1
1 0
2 0
3 0
4 0
5 0
6 0
7 0
如果需要把结果保存到文件里,只需要给write.table加上file="你的文件名.txt"参数就行啦。
内容的提问来源于stack exchange,提问作者margo
相关产品推荐
相关产品推荐

