2017-07-11 26 views
-1

我需要自動化一個進程。需要一段代碼來創建與R中的特定索引相關的文本

我有一個短語的列表,它表明對應的級別必要。 這樣

1.1貓一個.txt是紅色 1.2藍色是藍色 1.3 cggd 1.4的DSE 2.1布拉布拉 2.2黃色是黃色 2.3 abcded 2.4 blablabla

我想是獲得自動通過輸入具體的數字進行評估。例如,該作品在第一部分中應得4分,在第二部分應得4分。

我想寫「1.4」,「2.2」,並獲得文本的輸出,通過

製造「的DSE。黃是黃」

怎麼能怎麼辦?

謝謝四位您的建議!

回答

0

嘗試建立您的文字在一個陣列

yourtextarray<-matrix(c("cat is red","blue is blue","cggd","dses","blabla","yellow is yellow","abcded","blablabla"),ncol=4,nrow=2,byrow = T) 

,然後跑過來的行和列循環創建的字符串表達式

for(i in 1:nrow(yourtextarray)){ 
for(j in 1:ncol(yourtextarray)){ 
    cat(paste0(i,".",j," ",yourtextarray[i,j],"\n"))}} 
0

如果你想你的數據拆分成數字和字符串,你可以使用stringrrebus包進行字符串處理:

df <- data.frame(Text = "1.1 cat is red 1.2 blue is blue 1.3 cggd 1.4 dses 2.1 blabla 2.2 yellow is yellow 2.3 abcded 2.4 blablabla") 

df <- str_match_all(df$Text, 
        pattern = capture(DGT %R% DOT %R% DGT) %R% 
         SPC %R% 
         capture(one_or_more(or(SPC, ALPHA)))) %>% 
    as.data.frame() 

這給你以下輸出:

#      X1 X2    X3 
# 1  1.1 cat is red 1.1  cat is red 
# 2  1.2 blue is blue 1.2  blue is blue 
# 3    1.3 cggd 1.3    cggd 
# 4    1.4 dses 1.4    dses 
# 5   2.1 blabla 2.1   blabla 
# 6 2.2 yellow is yellow 2.2 yellow is yellow 
# 7   2.3 abcded 2.3   abcded 
# 8   2.4 blablabla 2.4   blablabla 
相關問題