我正在尝试将 Excel 模板中的数据导入 R。您可以在下面看到表格的外观:
此表包含两列的标题(例如 2021-2017 代表男性和女性),当我尝试将数据导入 R 时,这会导致问题。为了上传,我运行以下代码行:
Export_I01 <- data.table(
read.xlsx("Export_I01.xlsx", startRow = 2, endRow = 4, sheetIndex = 1, header = TRUE)
)
输出如下图所示:这不是好的输入,因为有一个后缀:例如
Male
是第一列,但第三列是 Male.1
.那么任何人都可以帮助我以与 Excel 表格相同的格式输入这些数据吗?
最佳答案
没有简单的方法可以做到,但您可以想出一些解决方法。这个使用readxl
, dplyr
, zoo
, 和 purrr
:
dt <- read_excel("test.xlsx", col_names = F)
dt <- dt %>% mutate(pmap_df(., ~ na.locf0(c(...))))
colnames(dt) <- gsub("\\.NA", "", paste(dt[1,], dt[2,], sep = "."))
dt <- dt %>% filter(row_number() > 2)
结果是:# A tibble: 2 x 6
English Country `2021-2017.Male` `2021-2017.Female` `2016-2012.Male` `2016-2012.Female`
<chr> <chr> <chr> <chr> <chr> <chr>
1 1 Czech Republic 5 55 5 5
2 2 Denmark 5 0 0 0
关于r - 数据表和Excel模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69663848/