如何将多列矩阵转换为两列表?

问题描述 投票:0回答:1

我创建了一个 zscore 矩阵,如下所示

A 栏 L1 L2 L3 L4 L5
A 1.29 4.5 1.13 2.3
B 3.46 5.7
C 3 8.16 2.1 6.23

我想将其转换为包含两列的表,A 列包含名称,B 列包含值。

我已经尝试过:

df <- as.data.frame(mx)
colnames(df) <- c('columnA', 'columnB')

这不会改变上面的矩阵,只是添加一个新的空列(columnB)。 基本上所有的值都应该在一列(columnB)中横穿,并且列A中的名称应该在每个类别中重复。所以我也根据之前在 stackoverflow 上的讨论尝试过这个。

df <- mx %>% 
  mutate(ColumnA = as.data.frame(ColumnA)) %>%
  unnest_wider(ColumnA)

这也不会修改 mx。

r dataframe matrix z-score
1个回答
0
投票

您有不同的选择来执行此操作。这里有一些使用不同库的示例。您可以使用标签 L1、L2 等保留变量,还可以使用

filter
 来保留值中的 
NA
filter(!is.na(value))

© www.soinside.com 2019 - 2024. All rights reserved.