需要一个代码来创建与R中特定索引相关的文本

时间:2017-07-11 07:46:36

标签: r indexing txtextcontrol

我需要自动化流程。

我有一个短语列表,表明必要的对应程度。  像这样的.txt

1.1猫是红色的  1.2蓝色是蓝色  1.3 cggd  1.4次  2.1 blabla  2.2黄色是黄色  2.3 abcded  2.4 blablabla

我想要的是通过输入特定的数字来获得自动评估。

例如,工作在第一部分中应该是4,在第二部分中应该是两部分。

我想写" 1.4"," 2.2"并获得由

制作的文本输出

"的DSE。黄色是黄色"

我该怎么办?

谢谢你的四个建议!

2 个答案:

答案 0 :(得分: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"))}}

答案 1 :(得分: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