从r中的数据帧创建一列向量
我要找的是从r中的数据帧中创建一个向量。 基本上我有一个数据框,有四列(1到4)和四行(a到D)及其值(a.1、a.2等),如下所示:从r中的数据帧创建一列向量,r,vector,dataframe,R,Vector,Dataframe,我要找的是从r中的数据帧中创建一个向量。 基本上我有一个数据框,有四列(1到4)和四行(a到D)及其值(a.1、a.2等),如下所示: 1 2 3 4 A a.1 a.2 ... B b.1 C D 我想创建一个向量,行名为A1,A2,…,B1,…,D4,其值如下,但我不知道如何: value A1 a.1 A2 a.2 B1 b.1 您可以使用行名称创建一个索引列,然后相应地熔化数据,然后根据两个新列重命名行名称,如 library(res
1 2 3 4
A a.1 a.2 ...
B b.1
C
D
我想创建一个向量,行名为A1,A2,…,B1,…,D4,其值如下,但我不知道如何:
value
A1 a.1
A2 a.2
B1 b.1
您可以使用行名称创建一个索引列,然后相应地熔化数据,然后根据两个新列重命名行名称,如
library(reshape2)
df$indx <- row.names(df)
res <- melt(df, "indx")
row.names(res) <- with(res, paste0(indx, variable))
res["value"]
# value
# A1 a.1
# B1 b.1
# C1 c.1
# D1 d.1
# A2 a.2
# B2 b.2
# C2 c.2
# D2 d.2
# A3 a.3
# B3 b.3
# C3 c.3
# D3 d.3
# A4 a.4
# B4 b.4
# C4 c.4
# D4 d.4
library(重塑2)
df$indx这方面的一些变化,与基本R函数保持一致:
data.frame(value=unlist(df), row.names=outer(rownames(df), colnames(df), paste0))
# value
#a1 a
#b1 b
#a2 b
#b2 c
来源数据:
df <- data.frame(`1`=c("a","b"),`2`=c("b","c"),row.names=c("a","b"),check.names=FALSE)
# 1 2
#a a b
#b b c
df查看重塑2软件包中的熔化功能:请参见unstack(PlantGrowth)->y
stack(y)