将单词与R中的原始文件进行比较

时间:2017-02-09 14:47:28

标签: json r

我有json格式的原始数据集。我们将它加载到R。

library("rjson")
setwd("mydir")
getwd()
json_data <- fromJSON(paste(readLines("N1.json"), collapse=""))
uu <- unlist(json_data)
uutext <- uu[names(uu) == "text"]

我有另一个数据集mydata2

mydata=read.csv(path to data/words)

我需要找到mydata2中的单词,只有json文件中的消息中才会出现这些单词。然后将此消息写入新文档“xyz.txt”如何操作?

    chalk      indirect          pick    reaction            team      skip    pumpkin     surprise         bless  ignorance
1     time       patient          road      extent          decade  cemetery  staircase      monarch        bubble      abbey
2  service  conglomerate        banish         pan        friendly  position      tight    highlight          rice  disappear
3    write         swear         break        tire             jam   neutral   momentum  requirement  relationship     matrix
4  inspire          dose          jump     promote           trace    latest   absolute       adjust      joystick      habit
5    wrong        behave         claim    dedicate          threat      sell   particle    statement         teach       lamb
6      eye        tissue  prescription     problem       secretion   revenge     barrel        beard     mechanism   platform
7   forest          kick          face   wisecrack     uncertainty     ratio   complain        doubt    reflection    realism
8    total           fee        debate        hall            soft     smart        sip       ritual          pill   category
9  contain      headline          lump  absorption  superintendent   digital   increase          key        banner     second

 i mean
 chalk -1 number1     indirect -2 number2

模板

Word1-1 number1-1; Word1-2 number 1-2; …; Word 1-10 number 1-10
Word2-1 number2-1; Word2-2 number 2-2; …; Word 2-10 number 2-10

1 个答案:

答案 0 :(得分:0)

下次请包含真实数据。简化型号:

library(data.table) 
word = c("test","meh","blah")
jsonF = c("let's do test", "blah is right", "test blah", "test test") 

outp <- list()
for (i in 1:length(word)) {
 outp[[i]] = as.data.frame(grep(word[i],jsonF,v=T,fixed=T)) # possibly, ignore.case=T
}

qq = rbindlist(outp)
qq = unique(qq)
print(qq)

1:               let's do test
2:                   test blah
3:                   test test
4:               blah is right

编辑:快速而脏的粘贴/折叠:

library(data.table)

x = LETTERS[1:10]
y = LETTERS[11:20]

df = rbind(x,y)    

L = list()
for (i in 1:nrow(df)) {
  L[i] = paste0(df[i,],"-",seq(1,10)," ",i,"-",seq(1,10),collapse="; ")

}
Fin = cbind(L)
View(Fin)

给出:

> Fin
L                                                                                           
    [1,] "A-1 1-1; B-2 1-2; C-3 1-3; D-4 1-4; E-5 1-5; F-6 1-6; G-7 1-7; H-8 1-8; I-9 1-9; J-10 1-10"
    [2,] "K-1 2-1; L-2 2-2; M-3 2-3; N-4 2-4; O-5 2-5; P-6 2-6; Q-7 2-7; R-8 2-8; S-9 2-9; T-10 2-10"