悬赏 5 个论坛币 未解决
在做实证分析的数据处理时经常会出现要对2个矩阵A、B的数据分拣,我用R语言双重循环来实现,但结果总是将循环指针指向矩阵末尾,无法达到预期,我不知问题出在哪里,恳请高人指点,悬赏5个金币。
问题描述如下:
现有A矩阵(是有很长数据的),B矩阵是A矩阵的一部分。现在想根据A,来填充B,但囿于不能直接填充,所以生成C来相应位置填充。
A矩阵中有3列(学号,姓名,分数)A的部分姓名、学号 与B矩阵中的是一样的,但B要短一些
学号
学号 姓名 分数
171621214 张三 96
171621236 李四 95
171621115 王五 95
171621225 赵六 94
171621244 孟八 93
B矩阵
学号 姓名
171621115 王五
171621225 赵六
我想根据A的数据,把B对应的分数填充上。但囿于不能修改B,所以生成一个C,对应位置填充“成绩”。可是成绩却都只填了A阵最后一行的93,好像循环指针停在那里了。不知为啥,如何修改?请高人指点。代码如下:
C矩阵
V1 V2 V3
1 NA NA 93
2 NA NA 93
A<-read.csv('A.csv',header=TRUE)
B<-read.csv('B.csv',header=TRUE)
C<- matrix(nr=2,nc=3)
for(n in 1:2){
for(m in 1:5){
if(A[m,1]<-B[n,1])
{C[n,3]<-A[m,3]}
}
}
write.csv(C,file = "C.csv")