Frage

Ich habe einen Datenrahmen mit einigen sehr langen Spalten "Kommentare". Wenn ich sie anzeigt, sind sie in verschiedene Blöcke unterteilt, wodurch es schwierig ist, über Reihen zu lesen. Ist es möglich, eine Einstellung in R zu ändern oder den Aufruf an Data zu ändern.

Beispiel: Ein 3-Spalte-Datenframe

data.frame(cbind(rep(1,5),rep(c("very very long obnoxious character string here" ,"dog","cat","dog",5)),rep(c("very very long obnoxious character string here" ,"dog","cat","dog",5))))

Resultierende Datenframe, wie auf meinem Bildschirm angezeigt:

  X1                                             X2
1  1 very very long obnoxious character string here
2  1                                            dog
3  1                                            cat
4  1                                            dog
5  1                                              5
                                          X3
1 very very long obnoxious character string here
2                                            dog
3                                            cat
4                                            dog
5                                              5
War es hilfreich?

Lösung

Ich empfehle eine Art explizite Weise wie folgt:

f <- function(x) data.frame(lapply(x, substr, 1, 5))

Verwendungszweck:

> f(d)
  X1    X2    X3
1  1 very  very 
2  1   dog   dog
3  1   cat   cat
4  1   dog   dog
5  1     5     5

Obwohl es möglich ist, das Standardverhalten zu ändern, empfehle ich nicht:

body(format.data.frame)[[5]] <- quote(for (i in 1L:nc) rval[[i]] <- substr(format(x[[i]], ..., justify = justify), 1, 5))
unlockBinding("format.data.frame", baseenv())
assign("format.data.frame", format.data.frame, pos = baseenv())
lockBinding("format.data.frame", baseenv())
rm(format.data.frame)

Verwendungszweck:

> d
  X1    X2    X3
1  1 very  very 
2  1   dog   dog
3  1   cat   cat
4  1   dog   dog
5  1     5     5
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top