将距离matrix作为matrix复制到R中的excel中

我有一个数据框(x)中的列,我想要使用dist(x$columnname)函数查找所有条目之间的成对距离。 输出是一个距离matrix,但如果我使用writeClipboard函数将数据复制到Excel中,我将得到所有成对距离的列表。 有没有办法,我可以复制到Excel保持matrix格式完好?

为了将数据从R复制到Excel,我写了这个小函数,你可以使用它:

  writeClipboardDf <- function (dat, format = 1, colnames = TRUE, rownames = FALSE, token = "\t") { if (is.null(dim(dat))) { writeClipboard(as.character(dat), format) } else { strDf <- apply(dat, 1, paste, collapse = token) if (rownames) { rn <- rownames(dat) if (is.null(rn)) { rn <- 1:(nrow(dat)) } if (colnames) { strDf <- c(paste(names(dat), collapse = token), strDf) rn <- c("", rn) } strDf <- paste(rn, strDf, sep = token) } else { if (colnames) { strDf <- c(paste(names(dat), collapse = token), strDf) } } writeClipboard(strDf, format) } } 

基本上,它需要input和添加制表符,这样您可以方便地将数据粘贴到Excel中。 所有你需要做的就是调用writeClipboardDf(as.matrix(dist(x$columnname)))

尝试将matrix转换为dataframe,然后将其写入csv文件。

 mydf<-as.data.frame(as.matrix(dist_matrix_name)) write.csv(mydf,file = "filename.csv")