我需要一个简短的 R 脚本,它可以将大型矩阵和 data.frames 重新组织为 3 列 data.frames。我当前的脚本可以处理矩阵,但在我输入 data.frame 时会返回错误消息。关于如何强制它处理这两个类的任何建议?
library(FD)
ds<-dummy$abun #a matrix
#reorganize into 3 column data.frame
q<-rep.int(row.names(ds),ncol(ds))
p<-rep(colnames(ds),each = (nrow(ds)))
ssf<-data.frame(q,p,as.numeric(ds))
names(ssf) <- c("site", "species", "freq")
工作正常,但我希望它能够重新组织矩阵和数据帧(即)
ds<-as.data.frame(dummy$abun) #a matrix
#reorganize into 3 column data.frame
q<-rep.int(row.names(ds),ncol(ds))
p<-rep(colnames(ds),each = (nrow(ds)))
ssf<-data.frame(q,p,as.numeric(ds))
names(ssf) <- c("site", "species", "freq")
返回
'Error in data.frame(q, p, as.numeric(ds)) : (list) object cannot be coerced to type 'double'