【问题标题】:Error in data.frame(..., check.names = FALSE) : invalid multibyte string, element 4693data.frame 中的错误(...,check.names = FALSE):无效的多字节字符串,元素 4693
【发布时间】:2016-01-09 02:31:55
【问题描述】:

我在 Mac 版本 10.11.1 上运行 R Studio。通过 doBy 包运行以下代码时:

ATT_SUM <- summaryBy(STUENR_MEM + STUENR_ABS ~ STUDENT_NUMBER + GRADE_LEVEL + Current.School + ENROLL_STATUS + LAST_NAME + FIRST_NAME + ENTRYDATE + EXITDATE + Enrolled.School + STU_MEM + STU_ABS,
                     data = Att_14, FUN = function(x) { c(Sum = sum(x))})

我收到以下消息:

Error in data.frame(..., check.names = FALSE) : invalid multibyte string, element 4693

我正在尝试通过 STUENR_MEM 和 STUENR_ABS 变量折叠或汇总我的数据。我的数据框中的许多观察结果对同一个变量都有多个条目。我想对 STUENR_MEM 和 STUENR_ABS 列中的数据求和,以创建一个总成员资格和总缺勤列——因此与观察对应的这两个变量会有一个单独的列。

列名:

1“Current.School”“GRADE_LEVEL”“ENROLL_STATUS”“STUDENT_NUMBER”“LAST_NAME”“FIRST_NAME”
[7] "STU_MEM" "STU_ABS" "STUENR_MEM" "STUENR_ABS" "ENTRYDATE" "EXITDATE"
[13] 《入学.学校》

我一直在寻找答案,但无济于事。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    听起来您的数据文件或特定列包含编码问题。在 csv/txt 文件导入期间尝试使用 fileEncoding 参数。根据数据源的具体编码调整类型:UTF-8Windows-1252latin1

    Att_14 <- read.csv("DataSource.csv", stringsAsFactors=FALSE, fileEncoding="UTF-8")
    

    另外,请考虑 R 的 aggregate(),它可以按多列进行汇总和分组:

    ATT_SUM <- aggregate(cbind(STUENR_MEM, STUENR_ABS) ~ STUDENT_NUMBER + GRADE_LEVEL +
                         Current.School + ENROLL_STATUS + LAST_NAME + FIRST_NAME + 
                         ENTRYDATE + EXITDATE + Enrolled.School + STU_MEM + STU_ABS, 
                         data = Att_14, FUN = sum)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      相关资源
      最近更新 更多