如何使用 R 中的 googlesheets 包将行名写入电子表格?

How to write rownames into a spreadsheet with the googlesheets package in R?

我想用 googlessheets 包在 Google 电子表格中写一个数据框,但行名没有写在第一列中。

我的数据框如下所示:

> str(stats)
'data.frame':   4 obs. of  2 variables:
 $ Offensive: num  194.7 87 62.3 10.6
 $ Defensive: num  396.28 51.87 19.55 9.19

> stats
                                 Offensive   Defensive
Annualized Return               194.784261  396.278385
Annualized Standard Deviation     87.04125   51.872826
Worst Drawdown                    22.26618    9.546208
Annualized Sharpe Ratio (Rf=0%)   1.61126    0.9193734

我按照文档中的建议加载库,创建电子表格和工作表,然后使用 gs_edit_cells 命令写入数据:

> install.packages("googlesheets")
> library("googlesheets")
> suppressPackageStartupMessages(library("dplyr"))

> mySpreadsheet <- gs_new("mySpreadsheet")
> mySpreadsheet <- mySpreadsheet %>% gs_ws_new("Stats")
> mySpreadsheet <- mySpreadsheet %>% gs_edit_cells(ws = "Stats", input = stats, trim = TRUE)

一切顺利,但 googlesheets 没有创建包含行名的列。只创建了两列数据(进攻和防守)。

我试过将数据框转换成矩阵,但还是一样。

知道如何实现吗?

谢谢

gs_edit_cells() 似乎没有行名称参数。如果您只想让行名显示在 sheet 的第一列中,您可以尝试:

stats$Rnames = rownames(stats)                  ## add column equal to the row names
stats[,c("Rnames","Offensive", "Defensive")]    ## re order so names are first
# names(stats) = c("","Offensive", "Defensive") optional if you want the names col to not have a "name"

从这里开始,只需像以前一样将统计数据传递给 googlessheets 包中的函数