-3
Ich habe eine Liste von TabellenR Loop-Klasse für viele Spalten in viele Daten zu ändern Rahmen
tablas<-list(ratingsRyUyM1, dfLikedSum,dfNotLikedSum,dfLikedQ, dfNotLikedQ)
Und ich will 2 Spalten konvertieren, die ich in einem Join-Zeichen verwenden werde. Also schrieb ich:
for (i in tablas){
for (j in c('movieId', 'userId')){
i[, j]<-as.character(i[, j])}}
Ich laufe das und immer noch die Spalten als Faktoren.
Ich versuchte es auch mit einer Funktion:
foo<-function(x){for (j in c('movieId', 'userId')){
x[, j]<-as.character(x[, j])}
return(x)}
Und dann:
lapply(tablas, foo)
ich:
> lapply(tablas, foo)
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
[[4]]
NULL
[[5]]
NULL
Ich würde vorschlagen, eine Kombination aus lapply und der dplyr Funktion muate verwenden. Definieren Sie eine Funktion, die Ihre Aufgabe mit mutate und as.character() erledigt, und verwenden Sie dann lapply. Sie wissen auch, dass einige Joins Faktoren für Charaktere erzwingen. –
Bitte geben Sie ein reproduzierbares Beispiel an, wenn Sie immer noch feststecken. –
'function (x) {für (j in c ('movieId', 'userId')) x [, j] <- as.zeichen (x [, j]); x} 'könnte funktionieren, dh Sie müssen' x' in 'foo' zurückgeben – rawr