2
openxlsx
(またはxlsx
または他のパッケージ)パッケージを使用して、データフレームをスプレッドシートにエクスポートしようとしています。 Excelには遺伝子名を自動的にフォーマットする傾向があるので(つまり、SEPT16 -> 16-Sep
(日付形式))、特定の列を「一般」ではなく「テキスト」に設定したいという問題があります。R:openxlsxを使用してデータを「テキスト」としてエクスポート
openxlsx
ドキュメントには、列クラスを「通貨」、「会計」、「ハイパーリンク」、「パーセンテージ」、「科学」の列クラスに設定する例がありますが、明示的に「テキスト」にはなりません。私は "テキスト"または "文字"にクラスを設定しようとしましたが、出力Excelの列はまだ "一般的"です。最初は、正しいテキストがありますが、セル内で何かを編集すると、Excelはこれらのセルを自動的に整形します。
library(openxlsx)
df <- data.frame(gene = c("SEPT16", "MARCH10", "GATA4"),
pvalue = c(0.0123, 0.2315, 0.00001),
stringsAsFactors = FALSE)
class(df$gene) <- "text" # Doesn't work
class(df$pvalue) <- "scientific"
wb <- openxlsx::createWorkbook()
sheet <- openxlsx::addWorksheet(wb, "test")
openxlsx::writeDataTable(wb = wb,
sheet = "test",
x = df)
openxlsx::saveWorkbook(wb, "example_table.xlsx")