我将数据框拆分为X
和Y
。 X
有一列,Y
约有100
。
x <- subset(tbl, , select = ordernum)
y <- subset(tbl, select = -c(ordernum, paid1num,
weight, returnnum, order_only, multi_dep, sequence_id))
接下来,我将X
与<{1}}中的每列相关联,生成Y
frame
和100 columns
。
a single row
接下来我转置,
corr <- cor(x,y)
和(截断的)结果如下所示:
corr.t <- t(corr)
我想将这个名为 ordernum
HH_AFFORD_MOMS_BUY_GREEN -0.0021281583
HH_AFFORD_SPORTS -0.0047221159
HH_AFFORD_CLASSICAL_MUSIC -0.0006594956
HH_AFFORD_HOME_DECOR 0.0052106766
的单个列拆分为2列。带有变量名称的ordernum
字段和带有相关性的character
。
我感谢任何指导。也许如果我使用numeric
而不是lm
?
答案 0 :(得分:5)
您存储为corr.t
的输出为matrix
,您提及的“变量名称”是矩阵的行名称,可使用{{{ 1}}。
要获得所需的输出,您可以这样做:
rownames()
更通用的解决方案 - 当您的矩阵不仅仅是一列时适用 - 将是:
data.frame(id = rownames(corr.t), val = c(t(corr.t)))
最后一行data.frame(ID = rownames(your-matrix),
as.data.frame(your-matrix,
row.names = 1:nrow(your-matrix)))
从输出中删除行名称;因为它们现在是数据框的一部分,所以不再需要它们。
对于它的价值,您实际上并不需要专门转置数据来获得所需的输出。以下是R中可用的一个数据集的示例,它演示了您要实现的目标:
row.names = 1:nrow(your-matrix)