使用第二行的跳过功能逐行读取txt文件,并使用R将输出保存为数据框

问题描述

对于在逐行阅读文本文件和跳过行(1、3、5、7)方面的帮助,我将不胜感激。

输入文件如下:

>Q5W0Q7|5-5|ength_1092  
DMESPVFAFPKALDLETHIEKLFLY
>Q6PEW1|2-2|length_402 
DDTLDDSDEDDIVVESQDPPLPSWG
>O43474|1-1|length_513 
PRRETEEFNDLKALDFILSNSLTHP
>Q9UGC6|1-2|length_210 
EKARMIYEDDETYLSPKEVSLDSRV

我想保持喜欢第二,第四,第六,第八。像这样:

DMESPVFAFPKALDLETHIEKLFLY 
DDTLDDSDEDDIVVESQDPPLPSWG 
PRRETEEFNDLKALDFILSNSLTHP 
EKARMIYEDDETYLSPKEVSLDSRV

然后,我想将每一行中的字符串拆分为单独的字符串。第一个示例:

D M E S P V F A F P K A L D L E T H I E K L F L Y

然后,每行将分别保存在一个数据框中。前两个示例:

 df1 <- df(col1 = c('D','M','E','S','P','V','F','A','K','L','D','T','H','I','Y'),col2 = c('D','Q','W','G'))

我想出了类似这样的东西:(但不起作用)

df1 <- n.readLines(paste("example1.txt"),header = FALSE,n = 1,skip =1,3,5,7) %>% #doesn't skip
         res_try <- strsplit(df1,"")[[1]] %>% 
view(df1)

谢谢您的帮助!

根据建议,我将输入内容作为列表。

# changed a list into a data frame
dftry <- data.frame(matrix(unlist(lst1),nrow=length(lst1),byrow=T))
# transposed the data frame 
df_trial <- as.data.frame(t(dftry))
df_trial$myfactor <- factor(row.names(dftry))
view(df_trial)

这里的问题是最后一行是18,而序列是24个字母长。有什么建议吗?

解决方法

我们用client_socket.send(command.encode('utf-8'))

读取数据
readLines

然后使用具有逻辑值的递归索引并将其拆分为lines <- readLines('file.txt')

list