Je crée un dataframe en utilisant ce code:
df <- data.frame(dbGetQuery(con, paste('select * from test')))
Ce qui résulte en ceci:
UID BuildingCode AccessTime
1 123456 BUILD-1 2014-06-16 07:00:00
2 364952 BUILD-2 2014-06-15 08:00:00
3 95865 BUILD-1 2014-06-06 09:50:00
J'essaie ensuite de supprimer les noms de ligne (1, 2, 3, etc.) comme suggéré ici en utilisant ce code:
rownames(df) <- NULL
Mais lorsque j’imprime df
, il affiche toujours les noms des lignes. Existe-t-il un moyen de ne pas inclure les noms de ligne lors de la création du bloc de données? J'ai trouvé une suggestion à propos de row.name = FALSE
mais lorsque j'ai essayé, je viens de recevoir des erreurs (je l'aurais peut-être placée au mauvais endroit).
EDIT: Ce que je veux faire, c'est convertir la dateframe en une table HTML et je ne veux pas que le nom de la ligne soit présent dans la table.
Vous avez supprimé les noms de domaine avec succès. La méthode print.data.frame
n'affiche que les numéros de lignes si aucun nom de fichier n'est présent.
df1 <- data.frame(values = rnorm(3), group = letters[1:3],
row.names = paste0("RowName", 1:3))
print(df1)
# values group
#RowName1 -1.469809 a
#RowName2 -1.164943 b
#RowName3 0.899430 c
rownames(df1) <- NULL
print(df1)
# values group
#1 -1.469809 a
#2 -1.164943 b
#3 0.899430 c
Vous pouvez supprimer l’impression des noms et numéros dans print.data.frame
avec l’argument row.names
.
print(df2, row.names = FALSE)
# values group
# -1.4345829 d
# 0.2182768 e
# -0.2855440 f
Edit: Comme écrit dans les commentaires, vous voulez convertir ceci en HTML. Dans les documents xtable
et print.xtable
, vous pouvez voir que l'argument include.rownames
fera l'affaire.
library("xtable")
print(xtable(df1), type="html", include.rownames = FALSE)
#<!-- html table generated in R 3.1.0 by xtable 1.7-3 package -->
#<!-- Thu Jun 26 12:50:17 2014 -->
#<TABLE border=1>
#<TR> <TH> values </TH> <TH> group </TH> </TR>
#<TR> <TD align="right"> -0.34 </TD> <TD> a </TD> </TR>
#<TR> <TD align="right"> -1.04 </TD> <TD> b </TD> </TR>
#<TR> <TD align="right"> -0.48 </TD> <TD> c </TD> </TR>
#</TABLE>
Oui, je sais que c'est plus d'un an et demi plus tard et un peu tard, MAIS
row.names(df) <- NULL
ça marche. Pour moi au moins :-)
Et si vous avez des informations importantes dans row.names comme des dates, par exemple, je ne fais que:
df$Dates <- as.Date(row.names(df))
Cela va ajouter une nouvelle colonne à la fin mais si vous le souhaitez au début de votre bloc de données
df <- df[,c(7,1,2,3,4,5,6,...)]
J'espère que cela aide ceux de Google :)
Récemment, j’ai eu le même problème lors de l’utilisation de htmlTable () (paquet ‘htmlTable’) et j’ai trouvé une solution plus simple: convertir le cadre de données en matrice avec as.matrix ():
htmlTable(as.matrix(df))
Et assurez-vous que les noms de domaine ne sont que des indices. as.matrix () conserve les mêmes noms de colonnes. C'est tout.