Verwenden Sie gsub, um eine neue Spalte in einer data.table @ hinzuzufüge

Sorry für eine sehr grundlegende Frage, Lösung muss sehr einfach sein, aber ich bin nicht in der Lage, es zu finden.

enn ich versuche, gsub zu verwenden, um eine neue Spalte in einer data.table hinzuzufügen, erhalte ich die Warnung "argument 'replacement' hat eine Länge> 1 und nur das erste Element wird verwendet "und alle data.table-Zeilen haben in der neuen Spalte den Wert der ersten Zeile.

Hier ist ein besprochener Fall:

dt <- data.table(v1=c(1,2,3) , v2=c("axb","cxxd","exfxgx"))  
dt[ , v3:=gsub("x",v1,v2)]  

Die neue Spalte v3 enthält in allen Zeilen eine Zeichenfolge mit "1" anstelle von "x".

Mit anderen Funktionen, z. B.

dt[ , v3:=paste(v1,v2)]  

works wie erwartet.

Ich verwende Rstudio v.0.98.1103, R v.3.1.2, data.table v.1.9.4

Antworten auf die Frage(4)

Ihre Antwort auf die Frage