data.frame(...,check.names = FALSE)中的错误:无效的多字节字符串,元素4693

时间:2016-01-09 02:31:55

标签: r dataframe

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

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]“注册。学校”

我已经找到了答案,但无济于事。

1 个答案:

答案 0 :(得分:0)

听起来您的数据文件或特定列包含编码问题。在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)