0

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

我的数据框如下所示:

> 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没有创建带有行名的列。仅使用其数据创建两列(进攻和防守)。

我尝试将数据框转换为矩阵,但仍然相同。

知道我怎么能做到这一点吗?

谢谢

4

1 回答 1

1

看起来 gs_edit_cells() 没有行名参数。如果您只想让行名显示在工作表的第一列中,您可以尝试:

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 包中的函数

于 2016-03-21T17:19:25.817 回答