Проблема следует ниже.Сначала рабочий пример:
library(stringr)
library(rebus)
phone_numbers_mat <- structure(c("555-555-0191", NA, "555) 555 0191", "555.555.0191",
"555", NA, "555", "555", "555", NA, "555", "555", "0191", NA,
"0191", "0191"), .Dim = c(4L, 4L)
Следующий код восстанавливает телефонные номера из вышеприведенной матрицы:
str_c(
"(",
phone_numbers_mat[,2],
")",
" ",
phone_numbers_mat[,3],
"-",
phone_numbers_mat[,4] )
И возвращает этот результат:
[1] "(555) 555-0191" NA "(555) 555-0191" "(555) 555-0191"
Но когда я пытаюсь выполнить аналогичную операцию со структурой списка, я получаю сообщение об ошибке "Ошибка: неверное число измерений" .
phone_numbers_list <- list(structure(c("555-555-0191", "555", "555", "0191"), .Dim = c(1L,
4L)), structure(character(0), .Dim = c(0L, 4L)), structure(c("555) 555 0191",
"555", "555", "0191"), .Dim = c(1L, 4L)), structure(c("555.555.0191",
"555.555.0192", "555", "555", "555", "555", "0191", "0192"), .Dim = c(2L,
4L)))
Моя попытка (возвращается ошибка выше):
lapply( phone_numbers_list,
str_c(
"(",
phone_numbers[,2],
")",
" ",
phone_numbers[,3],
"-",
phone_numbers[,4])
)
Как правильно обработать список для восстановления телефонных номеров?