【问题标题】:R: Error in match.names(clabs, names(xi)) : names do not match previous namesR:match.names(clabs,names(xi))中的错误:名称与以前的名称不匹配
【发布时间】:2017-06-22 00:24:06
【问题描述】:

我使用的脚本过去曾在类似的环境中工作过,但现在却出现了错误。

以下是我的脚本。

  pulse1<-NULL
 timePeriods<-c("Bin 1", "Bin 2", "Bin 3")
 weeks<-c("Jan25-Feb8", "Feb15- March15", "Mar22-April5")


 for (columnNumber in 1:3)
 {
   temp.data<-data.frame(Student=pulse$Student, Question=pulse$Question, Type=pulse$Type, 
                         timePeriods= timePeriods[columnNumber], week=weeks[columnNumber], 
                         Rating=pulse[, columnNumber+3])
   pulse1<-rbind(pulse1, temp.data)  
 }
 head(pulse1)

此代码旨在创建一个如下所示的新表:

> head(pulse1)
  Student Question Type timePeriods       week    Rating
1  965873        Q  FYS       Bin 1 Jan25-Feb8 0.0000000
2  841903        Q  SNR       Bin 1 Jan25-Feb8 2.0000000
3  959200       Q2  FYS       Bin 1 Jan25-Feb8 0.0000000
4  959200       Q8  FYS       Bin 1 Jan25-Feb8 1.0000000
5  789331       Q2  SNR       Bin 1 Jan25-Feb8 1.0000000
6  789331      Q12  SNR       Bin 1 Jan25-Feb8 0.6666667

但是,它没有将“week”之后的三列合并为 1 个“Rating”列,而是省略了“Bin2”和“Bin3”列。

> head(pulse1)
  Student Question Type timePeriods       week      Bin1
1  965873        Q  FYS       Bin 1 Jan25-Feb8 0.0000000
2  841903        Q  SNR       Bin 1 Jan25-Feb8 2.0000000
3  959200       Q2  FYS       Bin 1 Jan25-Feb8 0.0000000
4  959200       Q8  FYS       Bin 1 Jan25-Feb8 1.0000000
5  789331       Q2  SNR       Bin 1 Jan25-Feb8 1.0000000
6  789331      Q12  SNR       Bin 1 Jan25-Feb8 0.6666667

此外,当我运行我的脚本(上面)时,它会出现这个错误:

Error in match.names(clabs, names(xi)) : 
  names do not match previous names

除了运行上面的代码之外,我所做的只是导入和组织我在下面附加的数据(脉冲)。

谢谢!

请在下面找到我的数据。

> dput(pulse)
structure(list(Question = c("Q", "Q", "Q2", "Q8", "Q2", "Q12", 
"Q12", "Q2", "Q10", "Q", "Q2", "Q8", "Q12", "Q", "Q2", "Q", "Q12", 
"Q10", "Q", "Q12", "Q8", "Q10", "Q8", "Q2", "Q8", "Q10", "Q2", 
"Q", "Q12", "Q", "Q8", "Q10", "Q2", "Q", "Q2", "Q8", "Q", "Q2", 
"Q8", "Q10", "Q8", "Q12", "Q", "Q10", "Q12", "Q10", "Q8", "Q10", 
"Q12", "Q2", "Q10", "Q", "Q2", "Q8", "Q", "Q2", "Q8", "Q2", "Q8", 
"Q10", "Q", "Q2", "Q12", "Q", "Q10", "Q12", "Q", "Q12", "Q", 
"Q12", "Q8", "Q12", "Q", "Q2", "Q10", "Q12", "Q2", "Q8", "Q10", 
"Q2", "Q10", "Q12", "Q", "Q8", "Q10", "Q12", "Q10", "Q12", "Q", 
"Q2", "Q8", "Q10", "Q12", "Q2", "Q8", "Q8", "Q12", "Q10", "Q12", 
"Q2", "Q10", "Q10", "Q8", "Q", "Q8", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12", "Q", "Q2", "Q8", "Q10", 
"Q12", "Q", "Q2", "Q8", "Q10", "Q12"), Type = c("FYS", "SNR", 
"FYS", "FYS", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "FYS", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", 
"SNR", "SNR", "SNR", "SNR", "SNR", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", 
"FYS", "FYS", "FYS", "FYS", "FYS"), Student = c(965873L, 841903L, 
959200L, 959200L, 789331L, 789331L, 832929L, 841903L, 841903L, 
852125L, 852125L, 852125L, 852125L, 876406L, 876406L, 879972L, 
879972L, 885650L, 903303L, 903303L, 952797L, 952797L, 957206L, 
957759L, 957759L, 959200L, 965873L, 968728L, 968728L, 789331L, 
789331L, 789331L, 805933L, 826523L, 826523L, 826523L, 832929L, 
832929L, 832929L, 832929L, 841903L, 841903L, 843618L, 843618L, 
843618L, 852125L, 876406L, 876406L, 876406L, 879972L, 879972L, 
885650L, 885650L, 885650L, 888712L, 888712L, 888712L, 903303L, 
903303L, 903303L, 952797L, 952797L, 952797L, 957206L, 957206L, 
957206L, 957759L, 957759L, 959200L, 959200L, 965873L, 965873L, 
967416L, 967416L, 967416L, 967416L, 968728L, 968728L, 968728L, 
971179L, 971179L, 971179L, 805933L, 805933L, 805933L, 805933L, 
826523L, 826523L, 838607L, 838607L, 838607L, 838607L, 838607L, 
843618L, 843618L, 879972L, 885650L, 888712L, 888712L, 957206L, 
957759L, 965873L, 967416L, 971179L, 971179L, 796882L, 796882L, 
796882L, 796882L, 796882L, 827911L, 827911L, 827911L, 827911L, 
827911L, 830271L, 830271L, 830271L, 830271L, 830271L, 831487L, 
831487L, 831487L, 831487L, 831487L, 834598L, 834598L, 834598L, 
834598L, 834598L, 836364L, 836364L, 836364L, 836364L, 836364L, 
839802L, 839802L, 839802L, 839802L, 839802L, 855524L, 855524L, 
855524L, 855524L, 855524L, 873527L, 873527L, 873527L, 873527L, 
873527L, 885409L, 885409L, 885409L, 885409L, 885409L, 894218L, 
894218L, 894218L, 894218L, 894218L, 928026L, 928026L, 928026L, 
928026L, 928026L, 932196L, 932196L, 932196L, 932196L, 932196L, 
955389L, 955389L, 955389L, 955389L, 955389L, 956952L, 956952L, 
956952L, 956952L, 956952L, 962490L, 962490L, 962490L, 962490L, 
962490L, 969005L, 969005L, 969005L, 969005L, 969005L, 975424L, 
975424L, 975424L, 975424L, 975424L, 976863L, 976863L, 976863L, 
976863L, 976863L, 981621L, 981621L, 981621L, 981621L, 981621L
), Bin1 = c(0, 2, 0, 1, 1, 0.666666666666667, 0.333333333333333, 
1.66666666666667, 1, 0, 0, 0, 0.333333333333333, 1, 0.666666666666667, 
0, 0.666666666666667, 1, -0.666666666666667, 1.33333333333333, 
0, 0, 0.666666666666667, 1, 1, 1, 1.66666666666667, 0.666666666666667, 
0.333333333333333, 0.333333333333333, 0, 0, 0, -0.666666666666667, 
0, 0, 0, 0, 0, 0, 0, 0.333333333333333, 0.666666666666667, 0.666666666666667, 
0.333333333333333, 0, 0, 0.333333333333333, 0.333333333333333, 
0, 0.333333333333333, -0.333333333333333, 0, 0, 0, 0, 0, 0.666666666666667, 
0.666666666666667, 0.666666666666667, 0, 0, 0, 1, 0.333333333333333, 
-0.666666666666667, 1, 0, 1, -1, 1, 1, 0, 0, 0, 0, -0.333333333333333, 
-0.666666666666667, 0, 0.333333333333333, 1, 0, -1, -1.33333333333333, 
-1, -1.33333333333333, 0, 0, 0, 0, 0, 0, 0, -1, -0.333333333333333, 
-1, 0, -1, -1, -0.666666666666667, 0, 0, 0, 0, -0.666666666666667, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA), Bin2 = c(-1.5, 1.75, 0.75, 1.75, -0.5, 0.25, 
1, 2, 0.75, -0.5, -0.5, -0.25, 1, 1, 0.25, 0, 1, 0.5, 0, 2.5, 
0, 0, 1, 0.5, 0.5, -0.5, -0.25, -0.5, -0.5, 0, -1.5, -1.25, -1, 
0, 1, 0.75, -2, 0, 0, 0, 0, -0.25, 1, -0.25, 1, 0, -1, -1.25, 
-0.75, 0, 1, 0.5, 0.5, 0.25, 0.25, 0.25, 0.75, 0, 0, 0.25, 0.5, 
-0.25, 0, 1.5, 0, -1.25, 0, -0.75, 0.25, -1, -1.25, -1.25, 0.5, 
0.5, 0.25, 0.5, -1.5, -1.25, -1.25, -0.25, 1.25, 0.25, -1, -2, 
-2, -2, -0.75, 0, 0, -0.75, -0.75, -0.5, -0.5, -1, -1, -1.75, 
-0.75, -1.25, -1.5, -0.5, -1.5, -2.5, 0, 0, -1, 0.25, -2.75, 
-3, -2.75, -0.5, -0.25, -0.25, 0, -0.75, -1.75, 1, -0.25, -0.75, 
-0.25, 1, 0.25, 0, 0, 0, 0.25, -1, -1, -1, -1, -0.75, -1, 0, 
-1, -0.25, -0.25, 0.5, -0.75, 0.25, -0.75, 0.75, -0.75, -0.75, 
-0.25, -0.75, -0.75, 1, -0.75, 0, 0, 1, 0.25, 0, -0.25, -1.5, 
-0.75, 1, 1, 1, 0, 0, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, -1, -1, 
0, 0.25, 0, 0.75, 1.25, -0.25, 0.75, 0.25, 0.25, 1.75, 0, 0.75, 
0.75, 1, 0.25, 1, 0, 2, -1, 0, -1, -1, 0, 0, -1, -2, 0, 0, 1, 
-2, -1.5, -1.25, -0.75), Bin3 = c(-0.333333333333333, 2, 1, 2, 
0, 0.666666666666667, 1, 2, 1, -0.333333333333333, 0.666666666666667, 
0.666666666666667, 1.33333333333333, 0.666666666666667, 0.333333333333333, 
0, 1, 0, 0.333333333333333, 3, 0, 0, 0.333333333333333, 0.666666666666667, 
1.33333333333333, -1, -0.666666666666667, -1.66666666666667, 
-0.666666666666667, 0.666666666666667, -0.666666666666667, -0.666666666666667, 
-1, -0.333333333333333, 1, 1, -2, 0, 0, 0, 1, 0, 0.666666666666667, 
-0.333333333333333, 0.333333333333333, 0.666666666666667, -1, 
-1, 0.333333333333333, 0, 1, 1, 0.666666666666667, 0, 1, 0.333333333333333, 
0.333333333333333, 0.333333333333333, 0.333333333333333, 1, 1, 
0, 0, 1.66666666666667, 0, -0.666666666666667, 0.333333333333333, 
-0.666666666666667, 0, -1, -1.66666666666667, -1, 1, 1, 1, 1, 
-2.33333333333333, -1.33333333333333, -1.66666666666667, 0, 2, 
1, -1, -2, -2, -2, -1, 0.333333333333333, -1, -2, -1, -1, -1, 
-1.33333333333333, -1.33333333333333, -2, -2, -1.33333333333333, 
-2, -1, -1, -3.33333333333333, 0, 0, -1, 0.666666666666667, -3.33333333333333, 
-3, -2.66666666666667, 0.333333333333333, 0, 0, 0, -1, -2, 1, 
0, -1, 0, 1, 1, 0, 0.333333333333333, -0.333333333333333, 1, 
-1, -1, -1, -1, -0.666666666666667, -0.666666666666667, 0, -0.666666666666667, 
-0.666666666666667, 0, -0.333333333333333, -1.33333333333333, 
0, -1.33333333333333, 0.333333333333333, -0.333333333333333, 
0, -0.666666666666667, -0.666666666666667, -0.333333333333333, 
1, 0.333333333333333, 0, 0.333333333333333, 1.33333333333333, 
1, 0, -1, -1.66666666666667, -0.666666666666667, 1.33333333333333, 
1.33333333333333, 1.33333333333333, 0.666666666666667, 0, 1, 
0, 0, -1, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 1, 2, 0, 2, 0, -1, 
-0.333333333333333, -0.333333333333333, 0, 0, 1, 1, 1, 0, 2, 
-1, 0, -1, -1, 0, 0, -1, -2, 0, 0, 1, -1, -1, -2, -2)), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -205L), .Names = c("Question", 
"Type", "Student", "Bin1", "Bin2", "Bin3"))

【问题讨论】:

  • 如果我按原样运行你的代码,我会得到你想要的输出。也就是说,以Rating 作为列名
  • @simone 是否意味着我应该关闭并重新打开 R?我是 R 初学者,我不确定它为什么这样做或在这里做什么。
  • 这就是我所做的:我将上面的structure 分配给pulse 并运行你的循环。您可以尝试这样做作为开始
  • @simone 所以我这样做了,但我仍然遇到同样的错误。还有其他想法吗?感谢您的帮助。
  • 尝试更新问题以准确显示您在做什么。这样可能更容易提供帮助

标签: r


【解决方案1】:

第一个 pulse1 应该是一个空的 data.frame

pulse1<-data.frame()

你可以添加新的列名

colnames(pulse1)<-c("Student","Question","Type","timePeriods","week","Rating")

【讨论】:

  • 感谢您的回答!然而,经过进一步检查,问题实际上影响了我的数据,因此仅更改标签是行不通的。而不是像我想要的那样将最后三列移动到一列中,它只是占用第一列。
猜你喜欢
  • 1970-01-01
  • 2023-02-15
  • 2011-01-31
  • 1970-01-01
  • 2012-08-14
  • 2015-10-19
  • 2021-02-12
  • 1970-01-01
  • 2023-03-24
相关资源
最近更新 更多