我正试图从xlsx sheets中争论混乱的大型数据集。表结构使得列标题是三行的组合。
我正在使用RStudio,并试图编写一个函数,该函数接受空单元格,并从以前填充的单元格中填充它们,最后将所有填充的行连接到最后一个带有连字符的列标题中:例如,雇用、编号、三行中的男性应该成为Employment_Number_Male
。
有什么建议吗?
请查看我正在使用的示例xlsx表。
发布于 2019-03-13 16:50:36
拿这个data.frame:
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的尝试。
# 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, ]
问题是用它旁边单元格的值填充它。
https://stackoverflow.com/questions/55132833
复制相似问题