2016-11-07 96 views

回答

1

你可以用這個啓動:

library(tidyverse) 
library(stringr) 

txt<-read_lines("https://raw.githubusercontent.com/juancholkovich/GEO_DataSet_Browser/master/gds_result.txt") 

txt %>% as_data_frame() %>% 
    filter(!value=='') %>% 
    mutate(new_group=as.numeric(str_detect(value, "^(\\d*?\\.)")), 
     group=cumsum(new_group), 
     keyword=str_match(value, "^Organism|^Project|^Type|^FTP|^Sample|^Series|^Source"), 
     keyword=ifelse(str_detect(tolower(value), "^dataset|^series|^sample|^platform|related platforms"), "Dataset", keyword), 
     keyword=ifelse(str_detect(tolower(value), "accession"), "Accession", keyword), 
     keyword=ifelse(new_group==1, "Name", keyword), 
     keyword=ifelse(is.na(keyword), "Comment", keyword) 
) %>% select(-new_group) %>% spread(key=keyword, value=value) 

很可能有更大量的清潔工作要做,但至少你得到一些結構數據。

相關問題