Соответствие слов из библиотеки в одном столбце и двух более коротких столбцах, затем объединение этих двух фреймов данных в г - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть вопрос относительно соответствия слов из библиотеки (мои исходные данные имеют 2000 строк) в одном столбце в другом столбце (13 строк).Я имею дело со значениями NA и заполняю неравные строки.Однако есть совпадающие слова, поэтому они должны совпадать, тогда как слова, которые не совпадают, должны быть значениями NA.

У меня есть пример данных.

df <- data.frame(words<-c("How","did","Quebec","nationalists","see","their","province","as","a","nation","in","the","1960s"))
df2 <- data.frame(library<-c("How","see","as","a","for","then","than","example"),
                  embedding1<-c(.5,.6,.7,.8,.9,.3,.46,.48,.53,.42),
                  embedding2<-c(.1,.5,.4,.8,.9,.3,.98,.73,.48,.56))

Здесь я пытаюсь сопоставить и объединить данные с помощью merge () данных

df<-merge(df, df2, all=T, na.rm=T)

Я не сопоставил слова в столбце с какими-либо предложениями о том, как это сделать?

Я хочу, чтобы мои данные выглядели так ...

df4<-data.frame(words<-c("How","did","Quebec","nationalists","see","their","province","as","a","nation","in","the","1960s"),
                matched<-c("How",NA,NA,NA,"see",NA,NA,"as","a",NA,NA,"the",NA),
                embedding1<-c(.7,NA,NA,NA,.8,NA,NA,.9,.3,NA,NA,.6,NA),
                embedding2<-c(.1,NA,NA,NA,.8,NA,NA,.9,.3,NA,NA,.5,NA))

1 Ответ

0 голосов
/ 02 декабря 2018

Я думаю, что вам не хватает by.x и by.y параметров:

# merge data - full join
dd <- merge(x = df, y = df2, by.x = 'words', by.y = 'library', all.x = T) 

# add column from df
dd$library <- as.character(df2$library[match(dd$words, df2$library)])

print(dd)

          words embedding1 embedding2 library
1           How       0.50       0.10     How
2           see       0.60       0.50     see
3            as       0.70       0.40      as
4             a       0.80       0.80       a
5         1960s         NA         NA    <NA>
6           did         NA         NA    <NA>
7        Quebec         NA         NA    <NA>
8  nationalists         NA         NA    <NA>
9         their         NA         NA    <NA>
10     province         NA         NA    <NA>
11          the         NA         NA    <NA>
12       nation         NA         NA    <NA>
13           in         NA         NA    <NA>
14          for       0.90       0.90     for
15         then       0.30       0.30    then
16         than       0.46       0.98    than
17      example       0.48       0.73 example
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...