Zunächst einmal habe ich eine Matrix von Features und eine data.frame
von Features aus zwei separaten Textquellen. Bei jedem von diesen habe ich verschiedene Text-Mining-Methoden durchgeführt. Nun, ich möchte, dass sie kombinieren, aber ich weiß, einige von ihnen haben Spalten mit identischen Namen wie die folgenden:R - Zusammenführen/Kombinieren von Spalten mit demselben Namen, aber einige Datenwerte gleich Null
> dtm.matrix[1:10,66:70]
cough nasal sputum yellow intermitt
1 1 0 0 0 0
2 1 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
5 0 0 0 0 0
6 1 0 0 0 0
7 0 0 0 0 0
8 0 0 0 0 0
9 0 0 0 0 0
10 0 0 0 0 0
> dim(dtm.matrix) [1] 14300 6543
und der zweite Satz wie folgt aussieht:
> data1.sub[1:10,c(1,37:40)]
Data number cough coughing up blood dehydration dental abscess
1 1 0 0 0 0
2 3 1 0 0 0
3 6 0 0 0 0
4 8 0 0 0 0
5 9 0 0 0 0
6 11 1 0 0 0
7 12 0 0 0 0
8 13 0 0 0 0
9 15 0 0 0 0
10 16 1 0 0 0
> dim(data1.sub)
[1] 14300 168
I habe diesen Code von this topic, aber ich bin neu in R und ich brauche noch etwas Hilfe damit:
`data1.sub.merged <- dcast.data.table(merge(
## melt the first data.frame and set the key as ID and variable
setkey(melt(as.data.table(data1.sub), id.vars = "Data number"), "Data number", variable),
## melt the second data.frame
melt(as.data.table(dtm.matrix), id.vars = "Data number"),
## you'll have 2 value columns...
all = TRUE)[, value := ifelse(
## ... combine them into 1 with ifelse
(value.x == 0), value.y, value.x)],
## This is the reshaping formula
"Data number" ~ variable, value.var = "value")`
Wenn ich diesen Code ausführen, wird eine Matrix von 1x6667 zurückgegeben und die "Hust" (oder eine andere Spalte) aus den beiden Datensätzen zusammen nicht zusammengeführt. Ich bin verwirrt. Könntest du mir helfen wie das funktioniert?
es scheint, wie Sie versuchen einfach, diese beiden Objekte auf einer Spalte in jeder genannten „Datennummer“ shared zu fusionieren, wenn dies der Fall ist, da Sie den Rest Ihrer Daten, eine einfache Zusammenführung beibehalten möchten würde funktionieren, das Wesentliche ist, dass alle Spalten, die in beiden Sätzen dupliziert werden (um zusammengeführt zu werden) explizit als Schlüssel referenziert werden. Und damit das funktioniert, müssen alle Daten in allen Schlüsseln aus beiden Mengen mit den gleichen Spalten und Reihen in der anderen Menge übereinstimmen. Sie sollten sie wahrscheinlich beide in den gleichen Typ von Datenstruktur konvertieren, wie zum Beispiel einen Datenrahmen. – sconfluentus
Ich werde diese Objekte für alle Spalten zusammenführen, die keinen identischen Namen haben. Für Spalten, die einen identischen Namen haben, möchte ich beide Spalten in eine Spalte zusammenführen, während alle = 1 Werte von beiden Objekten in ihnen bleiben. Wenn das klar ist, könnten Sie mir eine Beispielcode zeigen, der funktioniert? – Diana01
Willkommen bei StackOverflow! Als eine Frage der Site-Richtlinie (und noch mehr innerhalb des "r" -Tags) bitten wir Sie, ein minimales, vollständiges, verifizierbares Beispiel (MCVE) bereitzustellen, anstatt uns lediglich zu zeigen, wie die Daten aussehen. Bitte stellen Sie reproduzierbare Daten zur Verfügung, z. B. mit "dput" oder mit einem eingebauten Datensatz in Ihrer Frage. Bitte sehen Sie http://StackOverflow.com/Help/Mcve und https://StackOverflow.com/Questions/5963269/How-to-Make-Agreat-R-reproducible-Beispiel –