Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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_Excel - Fatal编程技术网

R 将大量行转换为一列?

R 将大量行转换为一列?,r,excel,R,Excel,我想把我的行变成一列。我试过使用VBA,但没有完全成功(它以前崩溃过)。所以我想试试R 更准确地说,我有193列和4957行。所以我想得到一列956701行。因此,我需要一个自动代码,而不是一个公式,必须加以调整,因为这将需要太长的时间 为了确保我已经说清楚了,下面是我想从这个小例子中得到的: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 你知道什么代码可以解决我的问题吗 我们可以转置并连接 newdf <- data.frame(col1 = c

我想把我的行变成一列。我试过使用VBA,但没有完全成功(它以前崩溃过)。所以我想试试R

更准确地说,我有193列和4957行。所以我想得到一列956701行。因此,我需要一个自动代码,而不是一个公式,必须加以调整,因为这将需要太长的时间

为了确保我已经说清楚了,下面是我想从这个小例子中得到的:

1 2 3 4 5
6 7 8 9 10

1
2
3
4
5
6
7
8
9
10

你知道什么代码可以解决我的问题吗

我们可以
转置
并连接

newdf <- data.frame(col1 = c(t(df1)))

newdf在R中,使用melt()非常容易。如果您的数据是csv格式,请使用read_csv和use melt(),然后根据需要将其写回csv。

(1)如果OP从数据帧开始,这是否有效?(不清楚他们是否有矩阵或df。)(2)您需要
as.data.frame(矩阵(…)
还是只
data.frame()
工作?@BenBolker如您所述,
矩阵/as.data.frame
是不必要的。首先,我只有
矩阵
,是的,你可以转置一个同构的数据帧(让我惊讶的是)是的。请注意,
melt
位于
restrape2
包中(并给出了两列,但您可以放弃第一列)。可能比@akrun的解决方案慢(但可能无关紧要)。