首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中的write.table生成分隔的空格

R中的write.table生成分隔的空格
EN

Stack Overflow用户
提问于 2020-09-06 01:07:28
回答 1查看 316关注 0票数 0

我正在将数据帧编写为.bed文件;数据帧看起来很好,但当我使用以下命令导出它时:

代码语言:javascript
复制
write.table(x = bed_file, 
              file = 'merged_out.bed', 
              row.names = F, 
              col.names = F, 
              quote = F, 
              sep = '\t')

然后在终端中查看merged.bed的标题,有些行是空格分隔的,但大多数是制表符分隔的。。。有什么想法吗?

代码语言:javascript
复制
chr1    3816670 3818113 181 4 
chr1    6452977 6454435 181 1 
chr1    8075042 8075406 181 5 
chr1    8389451 8389713 181 1 
chr1    11190170    11190527    181 1 
chr1    14454661    14454861    181 2 
chr1    16212079    16213143    181 2 
EN

回答 1

Stack Overflow用户

发布于 2020-09-06 02:41:35

我怀疑这些不是“空格”,而只是空格,实际上是制表符。

要验证:

代码语言:javascript
复制
### the first row
readLines("merged_out.bed", n = 1)
# [1] "chr1\t3816670\t3818113\t181\t4"

### the first seemingly-wrong line
readLines("merged_out.bed", skip = 4, n = 1)
# [1] "chr1\t3816670\t3818113\t181\t4"

很明显,这两行中没有" "字符。

如果您想查看文件中是否有任何文字空格,此表达式将验证整个文件(假设字段中没有合法空格):

代码语言:javascript
复制
any(grepl(" ", readLines("merged_out.bed")))
# [1] FALSE

数据准备:

代码语言:javascript
复制
dat <- read.table(text = "
chr1    3816670 3818113 181 4 
chr1    6452977 6454435 181 1 
chr1    8075042 8075406 181 5 
chr1    8389451 8389713 181 1 
chr1    11190170    11190527    181 1 
chr1    14454661    14454861    181 2 
chr1    16212079    16213143    181 2 ")
write.table(dat, "merged_out.bed",
            row.names = FALSE, col.names = FALSE, quote = FALSE, sep = "\t")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63756494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档