Вот мой код
library(readxl)
library(dplyr)
library(rowr)
filenames = list.files(pattern="*.xlsx")
readdata <- function(filename) {
df <- read_excel(filename)
vec <- select(df, ends_with("Course total (Letter)"))
return(vec)
}
result <-lapply(filenames, readdata)
и результатом является список из 3 с разным количеством строк, который выглядит так
> > result [[1]]
> # A tibble: 24 x 1 `Course total (Letter)` <chr> 1 PASS 2 FAIL 3 PASS
> 4 FAIL 5 FAIL 6 FAIL
> 7 FAIL 8 FAIL 9 FAIL
> 10 FAIL
> # ... with 14 more rows
>
> [[2]]
> # A tibble: 87 x 1 `Course total (Letter)` <chr> 1 Pass 2 Pass 3 Pass
> 4 Fail 5 Fail 6 Pass
> 7 Fail 8 Fail 9 Fail
> 10 Fail
> # ... with 77 more rows
>
> [[3]]
> # A tibble: 23 x 1 `Course total (Letter)` <chr> 1 Fail 2 Fail 3 Fail
> 4 Fail 5 Pass 6 Fail
> 7 Pass 8 Pass 9 Fail
> 10 Fail
> # ... with 13 more rows
Я хочу объединить все 3 таблицы в один фрейм данных, поэтому я попробовал это
result <- do.call("cbind.fill", result)
Теперь результат становится
result
Course.total..Letter. Course.total..Letter. Course.total..Letter.
1 PASS Pass Fail
2 FAIL Pass Fail
3 PASS Pass Fail
4 FAIL Fail Fail
5 FAIL Fail Pass
6 FAIL Pass Fail
7 FAIL Fail Pass
8 FAIL Fail Pass
9 FAIL Fail Fail
10 FAIL Fail Fail
11 FAIL Fail Fail
12 FAIL Fail Fail
13 FAIL Fail Fail
14 PASS Fail Pass
15 FAIL Fail Fail
16 PASS Fail Fail
17 FAIL Fail Fail
18 FAIL Pass Fail
19 FAIL Pass Fail
20 PASS Fail Fail
21 FAIL Fail Fail
22 FAIL Fail Pass
23 FAIL Fail Fail
24 FAIL Fail Fail
25 PASS Fail Fail
26 FAIL Fail Fail
27 PASS Fail Fail
28 FAIL Fail Pass
29 FAIL Fail Fail
30 FAIL Fail Pass
31 FAIL Fail Pass
32 FAIL Pass Fail
33 FAIL Pass Fail
34 FAIL Fail Fail
35 FAIL Fail Fail
36 FAIL Fail Fail
37 FAIL Pass Pass
38 PASS Fail Fail
39 FAIL Fail Fail
40 PASS Pass Fail
41 FAIL Fail Fail
42 FAIL Fail Fail
43 FAIL Fail Fail
44 PASS Fail Fail
45 FAIL Fail Pass
46 FAIL Pass Fail
47 FAIL Pass Fail
48 FAIL Pass Fail
49 PASS Fail Fail
50 FAIL Fail Fail
51 PASS Fail Pass
52 FAIL Fail Fail
53 FAIL Pass Pass
54 FAIL Fail Pass
55 FAIL Pass Fail
56 FAIL Fail Fail
57 FAIL Pass Fail
58 FAIL Fail Fail
59 FAIL Fail Fail
60 FAIL Pass Pass
61 FAIL Fail Fail
62 PASS Fail Fail
63 FAIL Fail Fail
64 PASS Fail Fail
65 FAIL Pass Fail
66 FAIL Fail Fail
67 FAIL Fail Fail
68 PASS Fail Pass
69 FAIL Fail Fail
70 FAIL Fail Fail
71 FAIL Fail Fail
72 FAIL Fail Fail
73 PASS Fail Fail
74 FAIL Fail Pass
75 PASS Pass Fail
76 FAIL Fail Pass
77 FAIL Fail Pass
78 FAIL Fail Fail
79 FAIL Fail Fail
80 FAIL Pass Fail
81 FAIL Pass Fail
82 FAIL Fail Fail
83 FAIL Pass Pass
84 FAIL Fail Fail
85 FAIL Pass Fail
86 PASS Fail Fail
87 FAIL Fail Fail
Я хочу, чтобы пустые строки были заполнены как NA. В этом случае каждый столбец повторяется снова, чтобы соответствовать 87 строкам. Как это сделать?