msi*_*r92 3 r multiple-columns
我有一个长列,其中包含大量分析结果(作为.txt文件,我将用R读取).从顶部开始,前5行是与Sample1对应的结果,第5行(第6,7,8,9和10行)对应于Sample2,依此类推,从Sample1到Sample57.所以,我想把那个长列分成57列,按样本分开.让我们从一个较小的例子开始,简化问题,只使用前两个样本(因此,列只有10个值,每个5个).假设我们有这个列向量:
0.01
0.02
0.45
0.34
0.55
0.78
0.08
0.49
0.50
0.33
Run Code Online (Sandbox Code Playgroud)
我知道前5个数字对应Sample1,第二个数字对应Sample2.我想做这个:
0.01 0.78
0.02 0.08
0.45 0.49
0.34 0.50
0.55 0.33
Run Code Online (Sandbox Code Playgroud)
总的来说,我想将该柱状矢量转换为矩阵,其中每列长度为5行,并且这些数字的顺序与原始矢量中的顺序相同.就像你将原始矢量切成5个长的片段,然后将它们按顺序粘贴在右边.我搜索过命令将一列拆分成多列,但是他们使用了识别字符模式的东西.这是一种不同的情况.另外我发现这个关于终端将每N行输入放入一个新列,但我想知道R中是否有办法做到这一点,也许也更简单.
有没有办法严格每5行做一次?
是的,你可以做到以下:
as.data.frame(split(data, 1:x))
Run Code Online (Sandbox Code Playgroud)
其中x = nr行/ 5; 在你的例子x = 2,因为你有10个观察