Я пытаюсь извлечь фрейм данных в R из словаря произношения Карнега ie Mellon University. Это прекрасно работает для получения фрейма данных:
url <- "http://svn.code.sf.net/p/cmusphinx/code/trunk/cmudict/cmudict-0.7b"
library(RCurl)
answer <- RCurl::getURL(url)
dictionary <- as.vector(unlist(strsplit(answer, "\n")))
dictionary <- gsub(" ", "\t", dictionary)
dictionary.df <- read.table(text = dictionary, header=FALSE, skip =150, sep = "\t")
Но содержимое словаря находится после строки 54, поэтому значение параметра пропуска должно быть «54». Кажется, что специальные символы, содержащиеся в строках с 54 по 150, вызывают следующие ошибки.
Например:
> dictionary.df <- read.table(text = dictionary, header=FALSE, skip =54, sep = "\t")
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 1 did not have 2 elements
> dictionary.df <- read.table(text = dictionary, header=FALSE, skip =120, sep = "\t")
Warning messages:
1: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
Fin de fichier (EOF) dans une chaîne de caractères entre guillements
2: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
le nombre d'objets lus n'est pas un multiple du nombre de colonnes
Есть ли быстрый способ избежать этой ошибки, избегая символов?
Большое спасибо за вашу помощь!
Людови c