私はこのコードを使用してデータフレームを作成しています:
df <- data.frame(dbGetQuery(con, paste('select * from test')))
結果は次のとおりです。
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
次に、提案されているように行名(1、2、3など)を削除しようとしています here このコードを使用して:
rownames(df) <- NULL
しかし、その後df
を出力すると、行名が表示されたままになります。データフレームの作成時に行名を含めない方法はありますか? row.name = FALSE
に関する提案を見つけましたが、試したときにエラーが発生しました(間違った場所に置いた可能性があります)。
EDIT:私がしたいのは、日付フレームをHTMLテーブルに変換することであり、テーブルに行名が表示されないようにします。
行名が正常に削除されました。行名が存在しない場合、print.data.frame
メソッドは行番号のみを表示します。
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
引数print.data.frame
as FALSE
を使用して、row.names
の行名と行番号を出力しないようにすることができます。
print(df1, row.names = FALSE)
# values group
# -1.4345829 d
# 0.2182768 e
# -0.2855440 f
編集:コメントに書かれているように、これをHTMLに変換します。 xtable
およびprint.xtable
のドキュメントから、引数include.rownames
がトリックを行うことがわかります。
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>
はい、私はそれが半年以上後、少し遅れていることを知っていますが、
row.names(df) <- NULL
動作します。少なくとも私にとっては:-)
そして、例えば日付のようなrow.namesに重要な情報がある場合、私がすることはただです:
df$Dates <- as.Date(row.names(df))
これにより、最後に新しい列が追加されますが、データフレームの先頭に追加する場合は、
df <- df[,c(7,1,2,3,4,5,6,...)]
これがGoogleからの助けになることを願っています:)
最近、htmlTable()(「htmlTable」パッケージ)を使用したときに同じ問題が発生し、より簡単なソリューションが見つかりました:as.matrix()でデータフレームをマトリックスに変換します。
htmlTable(as.matrix(df))
そして、行名が単なるインデックスであることを確認してください。 as.matrix()は同じcolumnamesを保存します。それでおしまい。
@DMRのコメントに続いて、このような場合にhtmlTable()
がパラメーターrnames = FALSE
を持っていることに気付きませんでした。したがって、より良い答えは次のとおりです。
htmlTable(df, rnames = FALSE)