@@ -125,39 +125,42 @@ textblockToDataframe <- function(
125
125
}
126
126
127
127
# getColumnsToRemove -----------------------------------------------------------
128
+ # ' @importFrom kwb.utils allAreEqual catIf printIf stringList
128
129
getColumnsToRemove <- function (x , captions , duplicates , dbg = TRUE )
129
130
{
131
+ catIf <- kwb.utils :: catIf
132
+
130
133
columnsToRemove <- numeric ()
131
134
132
135
for (duplicate in duplicates ) {
133
136
134
- message( " Column '" , duplicate , " ' exists multiple times!" )
137
+ catIf( dbg , sprintf( " Column '%s ' exists multiple times!\n " , duplicate ) )
135
138
136
139
columns <- which(captions == duplicate )
137
140
138
141
allEqualInRow <- apply(x [, columns ], MARGIN = 1 , kwb.utils :: allAreEqual )
139
142
140
143
if (all(allEqualInRow )) {
141
144
142
- columnsToRemove <- c(columnsToRemove , columns [- 1 ])
145
+ columnsToRemove <- c(columnsToRemove , columns [- 1L ])
143
146
144
- message (
145
- " For each row, the values in the duplicated rows are equal " ,
146
- " -> I removed the duplicated columns! "
147
+ catIf (
148
+ dbg , " For each row, the values in the duplicated rows are equal " ,
149
+ " -> I removed the duplicated columns. \n "
147
150
)
148
151
149
152
if (dbg ) {
150
-
151
- cat( " The values in the duplicated columns are: \n " )
152
-
153
- x.output <- x [, columns ]
154
-
155
- print( x.output [ ! duplicated( x.output ), ] )
153
+ x.out <- x [, columns ]
154
+ kwb.utils :: printIf(
155
+ TRUE ,
156
+ x = x.out [ ! duplicated( x.out ), ],
157
+ caption = " The values in the duplicated columns are "
158
+ )
156
159
}
157
160
}
158
161
159
- kwb.utils :: catIf(
160
- dbg && length(columnsToRemove ) > 0 ,
162
+ catIf(
163
+ dbg && length(columnsToRemove ),
161
164
" columnsToRemove:" , kwb.utils :: stringList(columnsToRemove ), " \n "
162
165
)
163
166
}
0 commit comments