将列拆分为R中的字符和数字

时间:2013-02-06 16:42:14

标签: r

我将数据框拆分为XYX有一列,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 frame100 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

1 个答案:

答案 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)