首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >清理xlsx文件

清理xlsx文件
EN

Stack Overflow用户
提问于 2019-03-13 00:59:22
回答 1查看 111关注 0票数 1

我正试图从xlsx sheets中争论混乱的大型数据集。表结构使得列标题是三行的组合。

我正在使用RStudio,并试图编写一个函数,该函数接受空单元格,并从以前填充的单元格中填充它们,最后将所有填充的行连接到最后一个带有连字符的列标题中:例如,雇用、编号、三行中的男性应该成为Employment_Number_Male

有什么建议吗?

请查看我正在使用的示例xlsx表。

EN

回答 1

Stack Overflow用户

发布于 2019-03-13 16:50:36

拿这个data.frame:

代码语言:javascript
运行
复制
    df <- data.frame(..1 = c("year", NA, NA),
             ..2 = c(NA, "males", "all"),
             ..3 = c(NA, NA, "half"),
             ..4 = c(NA, NA, "some"),
             ..5 = c(NA, "females", "all"),
             ..6 = c(NA, NA, "half"),
             ..7 = c(NA, NA, "some"))

下面是一次将空单元格转换为NA的尝试。

代码语言:javascript
运行
复制
    # convert empty cells to NA
    empty_as_na <- function(x){
    if("factor" %in% class(x)) x <- as.character(x) ## since ifelse wont work   with factors
    ifelse(as.character(x)!="", x, NA)}

   # transform all columns
   df %>% mutate_each(funs(empty_as_na)) 

    # apply function
    na.rows <- which( apply(df, 1, function(z) (all(is.na(z)) ) ) )
    df[na.rows , ] <- df[na.rows-1, ]

问题是用它旁边单元格的值填充它。

重还原渲染

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55132833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档