Как записать имена строк в электронную таблицу с пакетом googlesheets в R?

Я хотел бы написать фрейм данных в электронной таблице Google с 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 не создает столбец с именами строк. Только два столбца создаются с их данными (Наступательный и Оборонительный).

Я пытался преобразовать фрейм данных в матрицу, но все равно.

Есть идеи, как мне этого добиться?

Спасибо

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, как вы делали раньше

Другие вопросы по тегам