Как заполнить список (по строкам, а не по столбцам), чтобы выбрать количество столбцов? - PullRequest
0 голосов
/ 02 октября 2019

Настройка

У меня есть список с нечетным количеством объектов. Для воспроизводимости я предоставлю фиктивный код ниже.

df <- as.list(c(1:67))

Вопросы

1) Как я могу сжать этот список в 5 столбцов, если длина не делится на 5?

2) Как я могу транспонировать данные для заполнения по строкам, а не по столбцам.

Пример

Например, что я делал в прошлом, это (используя значения, деленные на5) ...

df <- as.list(c(1:65))
dim(df) <- c(length(df)/5, 5)

Что приводит к следующему

      [,1] [,2] [,3] [,4] [,5]
 [1,] 1    14   27   40   53  
 [2,] 2    15   28   41   54  
 [3,] 3    16   29   42   55  
 [4,] 4    17   30   43   56  
 [5,] 5    18   31   44   57  
 [6,] 6    19   32   45   58  
 [7,] 7    20   33   46   59  
 [8,] 8    21   34   47   60  
 [9,] 9    22   35   48   61  
[10,] 10   23   36   49   62  
[11,] 11   24   37   50   63  
[12,] 12   25   38   51   64  
[13,] 13   26   39   52   65  

Если я пытаюсь сделать это с нечетным списком, я получаю эту ошибку

Error in dim(df) <- c(length(df)/5, 5) : 
  dims [product 65] do not match the length of object [67]

Как сделать так, чтобы результат выглядел следующим образом (т.е. измените заливку на построчную и оставьте последнюю строку с пробелами)?

      [,1] [,2] [,3] [,4] [,5]
 [1,] 1    2    3    4    5  
 [2,] 6    7    8    9    10  
 [3,] 11   12   13   14   15  
 [4,] 16   17   18   19   20  
 [5,] 21   22   23   24   25  
 [6,] 26   27   28   29   30  
 [7,] 31   32   33   34   35  
 [8,] 36   37   38   39   40  
 [9,] 41   42   43   44   45  
[10,] 46   47   48   49   50  
[11,] 51   52   53   54   55  
[12,] 56   57   58   59   60  
[13,] 61   62   63   64   65  
[14,] 66   67
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...