Вы можете использовать paste0:
matrix(paste0(df_one$V1, rep(df_one$V2, each = loop)), nrow = loop)
[,1] [,2] [,3] [,4] [,5]
[1,] "15" "16" "17" "18" "19"
[2,] "25" "26" "27" "28" "29"
[3,] "35" "36" "37" "38" "39"
[4,] "45" "46" "47" "48" "49"
[5,] "55" "56" "57" "58" "59"
Если вы планируете сопоставлять слова как куски текста, состоящие только из английских букв, вы можете использовать регулярное выражение, например
\b(?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)[a-zA-Z]+\b
. См. Демонстрацию regex
. поддержка языков, кроме английского, вы можете заменить [a-zA-Z]+
на [^\W\d_]+
.
Если «слово», которое вы хотите сопоставить, представляет собой кусок непробельных символов, вы можете использовать
(?<!\S)(?=\S*?a)(?=\S*?e)(?=\S*?i)(?=\S*?o)(?=\S*?u)\S+
См. эту демонстрационную версию регулярного выражения .
Определите эти шаблоны в Python, используя необработанные строковые литералы, например:
rx_AllVowelWords = r'\b(?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)[a-zA-Z]+\b'
Подробности
\b(?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)[a-zA-Z]+\b
: \b
- граница слова, здесь начальная граница слова. (?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)
- последовательность положительных указаний, которые запускаются сразу после обнаружения положения границы слова и требуют наличия a
, e
, i
, o
и u
после любых символов 0+ слов (букв, цифр, подчеркиваний - вы можете заменить \w*?
на [^\W\d_]*?
, чтобы проверять только буквы) [^\W\d_]+
, чтобы соответствовать всем буквам) \b
- граница слова, здесь, конечная граница слова Детали второго шаблона:
(?<!\S)(?=\S*?a)(?=\S*?e)(?=\S*?i)(?=\S*?o)(?=\S*?u)\S+
: (?<!\S)
- позиция в начале строки или после пробела (?=\S*?a)(?=\S*?e)(?=\S*?i)(?=\S*?o)(?=\S*?u)
- все английские гласные должны присутствовать - в любом порядке - после любых 0+ символов кроме пробела \S+
- 1+ непробельных символов.