- Текст, который я использую, приведен ниже.
До сих пор я импортировал текст:Как разбить скрипт воспроизведения с помощью формы ** Динамик: диалог **, чтобы получить диалог любого персонажа в один текстовый блок?
tempest.v <- scan("data/plainText/tempest.txt", what="character", sep="\n")
Указано, где все позиции колонок начинаются:
speaker.positions.v <- grep('^[^\\s]\\w+:', tempest.v)
Добавлен маркер в конце текста:
tempest.v <- c(tempest.v, "END:")
Вот часть, где у меня возникают трудности (предположим ING, что я уже сделал это полезно):
for(i in 1:length(speaker.positions.v)){
if(i != length(speaker.positions.v)){
speaker.name <- debate.v[speaker.positions.v[i]]
speaker.name <- strsplit(speaker.name, ":")
speaker.name <- unlist(speaker.name)
start <- speaker.positions.v[i]+1
end <- speaker.positions.v[i+1]-1
speaker.lines.v <- debate.v[start:end]
}
}
Теперь у меня есть переменная speaker.name, что имеет, на левой стороне раскола, имя персонажа, который говорит. Правая часть раскола - это диалог только через первый разрыв строки.
Я установил начало из диалога блока в позиции [I] + 1 и конец в [I + 1] -1 (то есть, на одну позицию назад от начала имени последующий говорящего) ,
Теперь у меня есть переменная, speaker.lines.v со всеми линиями диалога для этого динамика для этой речи.
Как я могу собрать все диалог Прорандо, а затем Миранды (тогда любого другого персонажа) в единый (векторный кадр??) Для анализа?
Любая помощь с этим была бы весьма признательна.
С Новым годом!
--- * TEXT ---
* Miranda: Если вашим искусством, мой самый дорогой отец, у вас есть Помещенный дикие воды в этом реве, смягчать их. Небо, похоже, наполнило бы вонючую подачу, Но что море, установленное на щеке утки, Вычеркивает огонь. О, я пострадал С теми, что я видел, страдает - храброе судно,
У кого, без сомнения, какое-то благородное существо в ней, Dash'd все на куски. О, крик пробил Против моего сердца. Бедные души, они погибли. Если бы я был каким-то богом власти, я бы Погрузил море в землю или ere Он должен хороший корабль так проглотил и Чрезвычайные души внутри нее.
Просперо: Соберите: Нет больше удивления: расскажите своему жалобному сердцу Нет никакого вреда.
Миранда: О, горе день!
Просперо: никакого вреда. Я ничего не сделал, но в заботе о тебе, тебя, мой дорогой, ты, моя дочь, Art невежественны о том, что ты, ничто не зная Of откуда я, ни того, что я более лучше чем Просперо , хозяин полной бедной клетки, И твой не больший отец.
Миранда: Больше знать Никогда не вмешивался в мои мысли.
Просперо: «Время» Я должен сообщить вам дальше. Оденьте руку, И вытащить из меня мою магическую одежду. Итак:
[Ложится свою мантию]
Ли там, мое искусство. Протрите глаза ваши; есть приятный. ужасного зрелище остова, который touch'd Самой добродетель сострадания к тебе, я с таким положением в шахтных техниках Так что смело приказало нет soul- Нет, не так много погибели как волосы Бетид любому существу в сосуде Который ты слышал, крик, который ты видел, утонул. Сядьте; Ибо ты теперь должен знать дальше.
--- КОНЕЦ ТЕКСТА ---
Я предполагаю, что текст Tempest доступен бесплатно (Gutenberg?). Не могли бы вы поделиться ссылкой на данные. – MichaelChirico
также, вы будете счастливы узнать, что 'strsplit' работает на векторах, не нужно контура. – MichaelChirico
@MichaelChirico Текст бухты Гутенберга доступен в 'learningr' pacakge. 'system.file (" extdata "," Shakespeare.s.The.Tempest..from.Project.Gutenberg.pg2235.txt ", package =" learningr ")' –