代码之家  ›  专栏  ›  技术社区  ›  Chris

带有或%符号的列名-R

r
  •  1
  • Chris  · 技术社区  · 5 年前

    我想为缺少的值创建一个空数据框,例如:

    df_miss <- data.frame(
      Variable = character(),
      dtype = character(),
      NA_n = numeric(),
      NA_p = numeric(),
      Un_Ct = character()
    ) 
    

    不过,我需要那个 NA_n 被称为 #NA NA_p 打电话 %NA . 这有可能吗?

    我的最终目标是创建一个数据帧( df_miss )有关缺少值的信息。我将遍历主数据帧( df ):

    x <- NULL
    for (i in 1:ncol(df)){
      x <- data.frame(
        Variable = colnames(df)[i],
        dtype = class(df[,i]),
        NA_n = sum(is.na(df[,i])),
        NA_p = round(sum(is.na(df[,i]))/dim(df)[1]*100,2),
        Un_Ct = paste(unique(df[,i]), collapse=";"))
      df_miss <- rbind(df_miss,x)
    } 
    

    这个循环工作得很好。但如果我换了就没用了 纳恩 纳普 具有 阿纳 %NA 分别。

    1 回复  |  直到 5 年前
        1
  •  1
  •   akrun    5 年前

    不寻常的列名称附加了 X 删除某些字符时 data.frame 检查列名称时使用 check.names = TRUE 默认情况下。通过制作 FALSE 再加上特殊的名字,这是可能的

    df_miss <- data.frame(
       Variable = character(),
       dtype = character(),
       `#NA` = numeric(),
       `%NA` = numeric(),
       Un_Ct = character(), check.names = FALSE
     )
    
    names(df_miss)
    #[1] "Variable" "dtype"    "#NA"      "%NA"      "Un_Ct"