Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.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_Merge - Fatal编程技术网

R 将两列合并为一列,删除列名

R 将两列合并为一列,删除列名,r,merge,R,Merge,我有一张像这样的桌子: a n_msi2010 n_msi2011 1 -0.122876 1.818750 2 1.328930 0.931426 3 -0.111653 4.400060 4 1.222900 4.500450 5 3.604160 6.110930 我想将这两列合并为一列以获得(我不想保留列名): 当我使用预制数据时,比如 x <- cbind(c(1, 2, 3), c(4, 5, 6)) colnames(x)<-c("a","b") c

我有一张像这样的桌子:

a
 n_msi2010 n_msi2011
1 -0.122876  1.818750
2  1.328930  0.931426
3 -0.111653  4.400060
4  1.222900  4.500450
5  3.604160  6.110930
我想将这两列合并为一列以获得(我不想保留列名):

当我使用预制数据时,比如

x <- cbind(c(1, 2, 3), c(4, 5, 6))
colnames(x)<-c("a","b")
c(t(x))
# 1 4 2 5 3 6
c((x))
# 1 2 3 4 5 6

x这不是一种优雅的方式,但它似乎可以将两列或多列合并为一列

n_msi2010 <- 1:5
n_msi2011 <- 6:10
a <- data.frame(n_msi2010, n_msi2011)

vector <- vector()

for (i in 1:dim(a)[2]){
    vector <- append(vector, as.vector(a[,i]))
    vector  
}

您的问题似乎是关于从
data.frame
创建列顺序向量还是行顺序向量

数据框上使用
t()
数据框
转换为
矩阵
,在
矩阵上使用
c()
删除其尺寸

有了这些知识,您可以尝试:

# create a vector of values, column by column
c(as.matrix(a))  # you are missing the `as.matrix` in your current approach

# create a vector of values, row by row
c(t(a))          # you already know this works
获得“逐列”结果的其他方法有:

unlist(a, use.names = FALSE)
stack(a)[, "values"]     # add `drop = FALSE` if you want to retain a data.frame
您的“表”可以是data.frame吗?您的
x
是一个矩阵。
# create a vector of values, column by column
c(as.matrix(a))  # you are missing the `as.matrix` in your current approach

# create a vector of values, row by row
c(t(a))          # you already know this works
unlist(a, use.names = FALSE)
stack(a)[, "values"]     # add `drop = FALSE` if you want to retain a data.frame