2016-11-14 2 views
1

私は現在、ログファイル内のデータのthatsと協力し、このようになりますしています:このデータをrでフォーマットするにはどうすればよいですか?

それはより多くのように見えるように、これをI変換するにはどうすればよい
Subject: MS1989, Characters: G3, Position: TL, Block: 2, Reaction Time: 957 ms 

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

Subject Characters Position Block Reaction Time 

MS1989 G3 ... 

これは回答された可能性があります前に、しかし、私は本当にこれを言い方を知らないので、検索は難しいです。おそらく、ここでは変形が役に立つかもしれませんが、これは長くても広いフォーマットでもないようです。

答えて

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はあなたの質問に答えますか?答えの1つを正確なものとして喚起する心。 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,] 
関連する問題