Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

googlesheets4 – specify col_types using vector

I am trying to read a google sheet with many columns (gs1) into R. I also have a separate data frame in R (df_col) that has a list of the columns in gs1 along with their formats. Is there a way to read gs1 into R using the columns formats specified in df_col?

For example:
gs1

col1  col2  col3  
a     1     01/01/22
b     2     01/02/22
c     3     01/03/22

df_col

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

col_name    col_type
col1        c
col2        i
col3        D

To read in gs1:

gs1_df <- read_sheet(ss = "gs1", sheet = "Sheet1", col_types = df_col$col_type)

Whenever I currently follow the logic in the example above, I get an error stating Error in check_length_one():! col_types must have length 1, not length 3.

I’m guessing this is because there is an issue with directly calling the column of df_col in the function but I’m not sure how to get around that. Does the column need to be converted to a string before using it in the function?

>Solution :

The documentation sets out that col_types is expected to be a

string of readr-style shortcodes, with one character or code per column

You have currently got the short codes correctly defined, but in a vector of length nrow(df_col). You need to convert it to a string (or technically a character vector of length one).

col_types  <- paste(df_col$col_type, collapse = "")
gs1_df <- read_sheet(ss = "gs1", sheet = "Sheet1", col_types = col_types)
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading