R:将每行中冒号“:”前后的文本分割成两列
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)
这个脚本的工作流程如下:
- 使用
readLines()
函数读取原始文本文件。 - 使用
strsplit()
函数以冒号加空格(:
)为分隔符来分割每一行。 - 利用
lapply()
函数和data.frame()
将分割后的数据转换为数据框格式。 - 使用
write.table()
函数将结果保存为新的文本文件,格式为制表符分隔(\t
)。