【发布时间】:2019-08-01 05:40:45
【问题描述】:
总的来说,我仍然掌握 R 和编码的窍门,所以请耐心等待。
我的问题这是我的一个降维想法,包括三个步骤。我需要前两个方面的帮助。
- bin 行
- 将合并的行转置为新列,这样列会随着 bin 数量的增加而增加,行会随着 bin 的数量而减少
- 执行 PCA 以减少列数
所以数据会来自这个:
A B C D
1 W1 X1 Y1 Z1
2 W2 X2 Y2 Z2
3 W3 X3 Y3 Z3
4 W4 X4 Y4 Z4
5 W5 X5 Y5 Z5
6 W6 X6 Y6 Z6
所以,如果我按 2 分档并转置,它看起来像这样:
A A B B C C D D
1 W1 W2 X1 X2 Y1 Y2 Z1 Z2
2 W3 W4 X3 X4 Y3 Y4 Z3 Z4
3 W5 W6 X5 X6 Y5 Y6 Z5 Z6
我很确定我需要在某种函数中嵌套 bin 和转置,但我不确定哪个先出现,或者根本不知道如何处理这个问题,所以任何建议都会有所帮助!
我真的希望这有点道理,如果需要,请告诉我如何改写!
编辑 我正在使用整数数据类型,这是我想要分箱和扩展的实际数据的 sn-p。
> head(dataset[1:4])
EMG1 EMG2 EMG3 EMG4
1 32744 32571 32935 32279
2 32788 32934 32767 32624
3 32828 33202 32587 32377
4 32870 33269 32423 32954
5 32838 33319 32126 32721
6 32903 33502 32652 32151
【问题讨论】:
-
试试
do.call(cbind, split(dat, 1:nrow(dat) %% 2 == 0)) -
@markus 有没有办法使用 t() 进行 cbind 转置?
标签: r transpose binning dimensionality-reduction