r - 提取特定行并列出 R 中的行
问题描述
我有一个文件,我想从中提取segsites:之后的数字, 并用 bin 制作直方图。我编写了一些代码来检查一行是否以单词“segsites”开头,然后提取该行并将其放入数据框中。
然而,它并没有做它应该做的事情。它提取了一些数字,但它们与我在文件中的值不对应。我附上了一个屏幕截图来显示文件的样子。这是一个示例,而不是实际文件。
library(dplyr)
library(ggplot2)
txt <- readLines("file.msOut")
lns <- (data.frame((beg=which(grepl("segsites:",txt)))))
output <- cut(lns, breaks = seq(0,1000, by= 100), labels = c("<100","100-200","200-300","300-400","400-500",
"600-700","700-800,800-900","900-100"))
table(output) %>%
as.data.frame() %>%
ggplot(aes(x = output, y = Freq)) +
geom_col()
来自txt的样本数据
解决方案
使用regex
并假设txt
包含来自图像的数据
txt <- c('segsites: 10','test')
as.numeric(gsub('\\D', '', grep('segsites\\:', txt, value = TRUE), perl = TRUE))
# [1] 10
推荐阅读
- tensorflow2.0 - tf.data.Dataset.from_generator 调用的复杂对象的 output_signature 、 output_types 和 output_shapes 示例
- javascript - clearInterval() 之后如何使用 res.send 方法?
- sql - 如何添加 SQL Server Analysis Services 实例?
- python - 如何遍历二维坐标中的邻居?
- html - 如何使用按钮创建导航栏或如何更改导航栏中文本的字体大小
- docker - 通过 Dockerfile 运行 make 会生成 Mach-O 64 位 x86_64 可执行文件
- javascript - 如何加载多个 data.js 文件以响应 js 应用程序?
- mainframe - 如何计算记录数的空间
- sql - SELECT 语句,带有附加逻辑,用于修改某些记录
- javascript - 如何检测浏览器是否支持拖放、触摸和BoxShadow?