0

我有 2 个从 Excel 表转换而来的 .csv 文件。它们的行名和列名相同,但包含不同的数据。当我写table1<-read.csv("table1.csv",header=TRUE)andtable2<-read.csv("table2.csv",header=TRUE)时,行名不是数据框中的行名。因此,我无法在它们之间进行计算。我想做(table1减去table2)。准确地说,它们的行名和列名是字符串,但在数据框中,行名是 1,2,3,...因为行名在数据框中看起来是字符串,所以无法进行计算。我应该怎么办?

table1<-read.csv("table1.csv",header=TRUE)
table2<-read.csv("table2.csv",header=TRUE)
diff<-table1-table2

我收到这条消息:警告消息:在 Ops.factor(left,right) 中:'-' 对因素没有意义

4

1 回答 1

1

正如您所说,两个数据框中的第一列都是行名和字符串格式。因此,在两个数据帧中保留第一列,必须进行减法。

table1 <- read.csv("table1.csv",header=TRUE)
table2 <- read.csv("table2.csv",header=TRUE)
diff <- cbind(table1[1], table1[-1]-table2[-1])

此处的 cbind 将 table1 中的第一列和结果组合在一起,将行名保留在数据框中

于 2017-03-16T01:20:36.683 回答