2015-06-12 50 views
16

Odchodzę od tabel Word/Excel i próbuję wygenerować tabelę w R. Mam ramkę danych, którą chciałbym po prostu wydrukować jako fabułę, mając jednocześnie możliwość cieniowania/kolorowania komórek i ogólnie zabawy z estetyką.Utwórz ramkę danych jako tabelę

x <- data.frame(row.names=paste("Name",1:10)) 
x[,1] <- 1:10 
x[,2] <- sample(1:100,10) 
x[,3] <- sample(LETTERS[1:26],10) 
colnames(x) <- c("Value 1", "Value 2", "Label") 

View(x) zapewnia dokładny format chciałbym mój stół, tak jak składowania w stanie działki.

Próbowałem

plot(x,type="h") 

Ale otrzymał błąd:

Error in plot.default(...) : formal argument "type" matched by multiple actual arguments

widziałem Jak tabele wyjściowych z dwóch kolumn, ale jak mogę wykreślić ramkę danych jak jest? Punkty premiowe za pokazanie, jak przykleić tę tabelę poniżej innego wykresu rozproszonego, który utworzyłem, tak aby wyjściowy ggsave miał wykres scatter z tabelą pod nim.

Odpowiedz

15

Ponieważ ja jadę dla punktów bonusowych:

#Plot your table with table Grob in the library(gridExtra) 
    ss <- tableGrob(x) 

    #Make a scatterplot of your data 
    k <- ggplot(x,aes(x=x$"Value 1",y=x$"Value 2")) + 
    geom_point() 

    #Arrange them as you want with grid.arrange 
    grid.arrange(k,ss) 

Ty możliwe, zmienić liczbę wierszy, kolumn, wysokość i tak dalej, jeśli potrzebujesz.

Powodzenia to enter image description here

http://cran.r-project.org/web/packages/gridExtra/gridExtra.pdf

+0

wow to proste? niesamowite dzięki mate! Punkty premiowe przyznane! zdarzyło się, że mam odpowiedź na moje dodatkowe pytanie w komentarzach do odpowiedzi Roberta na przypadek? – Alex

+0

W tabelach, które pokazaliśmy tutaj nie ma odcięcia w słowie Nazwa 1 tak dalece jak widzę, więc jak masz na myśli? Może to również wynikać z użycia nazw wierszy. Kiedy podasz nową kolumnę dla nazw 1-10, będzie to prawdopodobnie w porządku. – MichaelVE

+0

install.packages (gridExtra) Błąd w install.packages (gridExtra): obiekt 'gridExtra' nie znaleziony ... Nie wiesz, czy to nadal biblioteka? – Coliban

15

Spróbuj tego. Tak używać pdf() wykreślić plik PDF (np mydf.pdf) lub png() wykreślić plik PNG

library(gridExtra) 
pdf("mypdf.pdf", height=6, width=4) 
grid.table(x) 
dev.off() 

enter image description here

+1

dzięki znowu edytowany ten komentarz do powiedzenia na pewno spieprzy twoje struny w rownames (np Name 1" w moim przykładzie) są odcięte, niezależnie od tego, gdzie ja string wrap them, any ideas? – Alex

+1

Użyłem zamiast table.grob, który rozwiązuje ten problem, i pozwala mi używać grid.arrange późno, jeszcze raz dziękuję wszystkim! – Alex

Powiązane problemy