我在数据框(x)中有一个列,我希望使用dist(x$columnname)
函数找到所有条目之间的成对距离。输出是距离矩阵,但如果我使用writeClipboard
函数将数据复制到excel中,我会得到所有成对距离的列表。有没有办法可以将它复制到excel中,保持矩阵格式不变?
答案 0 :(得分:4)
尝试将矩阵转换为数据帧,然后将其写入csv文件。
mydf<-as.data.frame(as.matrix(dist_matrix_name))
write.csv(mydf,file = "filename.csv")
答案 1 :(得分:0)
为了将数据从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)
}
}
基本上,它需要输入并添加标签\t
,这样您就可以方便地将数据粘贴到Excel中。您所要做的就是致电writeClipboardDf(as.matrix(dist(x$columnname)))
。