Basic通过矩阵循环,将列名称粘贴到结果对象中

时间:2014-10-01 16:22:25

标签: r

我有一个数据框(样本x种类),我想循环这个命令(逐列):

dist <- vegdist(decostand(X,"standardize",MARGIN=2), method="euclidean")

我需要每个新dist值中列的名称。因此,如果我的列被称为A,B,C,那么结果应该是dist-values,称为Dist.A,Dist.B,Dist.C,依此类推。我相信这可以用粘贴来完成,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

您可以尝试(如果是data.frame

 d1[] <- lapply(colnames(d1), function(x) paste(d1[,x], x, sep="."))

或者

 d1[] <- Map(function(x,y) paste(x, y, sep="."), d1, colnames(d1))

如果是matrix

  m1[] <- paste(m1, colnames(m1)[col(m1)],sep=".")

数据

 m1 <- matrix(1:15, ncol=3, dimnames=list(NULL, LETTERS[1:3]))
 d1 <- as.data.frame(m1)