2016-11-14 2 views
1

나는 현재이 같은 로그 파일에 데이터를 먹으 렴 작업 및 보인다 오전 :어떻게이 데이터를 r로 포맷합니까?

Subject Characters Position Block Reaction Time 

MS1989 G3 ... 

이 대답 한 수 더 같이 보이도록

Subject: MS1989, Characters: G3, Position: TL, Block: 2, Reaction Time: 957 ms 

Subject: MS1989, Characters: 7A, Position: TR, Block: 2, Reaction Time: 220 ms 

가 어떻게이 변환합니까 전에,하지만 난 정말이 말을하는 방법을 모릅니다, 그래서 검색이 어렵습니다. 어쩌면 재구성이 유용 할 수 있지만, 길거나 넓은 포맷 인 것 같습니다.

답변

0

내가 더 나은 솔루션이있을 수 있습니다 확신,

library(tidyr) 
df = data.frame(x = c("Subject: MS1989, Characters: G3, Position: TL, Block: 2, Reaction Time: 957 ms", 
    "Subject: MS1989, Characters: 7A, Position: TR, Block: 2, Reaction Time: 220 ms")) 

df$y <- gsub("Reaction Time:", "", 
     gsub("Block:", "", 
       gsub("Position:", "", 
        gsub("Characters:", "", 
         gsub("Subject:" ,"",df$x))))) 

df$x <- NULL 
df <- df %>% separate(y, into = c("Subject", "Character", "Position", "Block", "Reaction"), 
      sep = "[,]") 

df 
    Subject Character Position Block Reaction 
1 MS1989  G3  TL  2 957 ms 
2 MS1989  7A  TR  2 220 ms 
+0

@ Karweck이 질문에 답변합니까? 대답 중 하나를 정확한 것으로 조장하십시오. http://stackoverflow.com/help/someone-answers –

0

복사 된 텍스트 파일 "tidy.txt"로 데이터 :

Subject: MS1989, Characters: G3, Position: TL, Block: 2, Reaction Time: 957 ms 
Subject: MS1989, Characters: 7A, Position: TR, Block: 2, Reaction Time: 220 ms 

다음 :

library(tidyverse) 

untidy <- read_csv("untidy.txt", col_names=FALSE) 
tidier <- untidy %>% 
      separate_rows(col=1:ncol(untidy), sep=":") %>% 
      distinct() 
colnames(tidier) <- as.character(tidier[1,]) 
tidy <- tidier[-1,] 
관련 문제