R:将每行中冒号“:”前后的文本分割成两列

发布时间 2024-01-02 10:01:56作者: 王哲MGG_AI

R脚本来处理文本文件,将每行中冒号“:”前后的文本分割成两列

# 读入文件
data <- readLines("pathways.txt")  # 假设输入文件名为"pathways.txt"

# 分割每行为两部分
split_data <- strsplit(data, ": ")

# 转换为数据框
split_df <- do.call(rbind, lapply(split_data, function(x) data.frame(ID = x[1], Description = x[2])))

# 保存为新的文本文件
write.table(split_df, file = "split_pathways.txt", sep = "\t", row.names = FALSE, quote = FALSE)

这个脚本的工作流程如下:

  1. 使用readLines()函数读取原始文本文件。
  2. 使用strsplit()函数以冒号加空格(: )为分隔符来分割每一行。
  3. 利用lapply()函数和data.frame()将分割后的数据转换为数据框格式。
  4. 使用write.table()函数将结果保存为新的文本文件,格式为制表符分隔(\t)。