Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从r中的数据帧创建一列向量_R_Vector_Dataframe - Fatal编程技术网

从r中的数据帧创建一列向量

从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

我要找的是从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(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)