я получаю сообщение об ошибке с read.table():read.table() ошибка, даже если все элементы присутствуют
data <- read.table(file, header=T, stringsAsFactors=F, sep="@")
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 160 did not have 28 elements
Я проверил линию 160, и он имел 28 элементов (это было 27 @ символов).
Я проверил все линии 30242, где было 816534 @ символов, что составляет 27 строк, поэтому я уверен, что каждая строка содержит 28 элементов. Я также проверил файл, чтобы убедиться, что в нем нет никаких символов, кроме как разделителей.
Есть ли у кого-нибудь идеи, что здесь происходит?
редактировать: Строка 160 файла
158 @ психического состояния: 1. Общие клинические симптомы @ MD @ S @ 2002 @ CMP-005 @ 02 @ 20.67 @ 23.58 @ клозапин против типичных нейролептиков для шизофрения @ IV @ 4.47 @ 02 @ АНАЛИЗ ЧУВСТВИТЕЛЬНОСТИ - КИТАЙСКИЕ ИСПЫТАНИЯ @ CD000059 @ 6.94 @ Фиксированные @ 16 @ 5 @ 2 @ 45 @ Китайские испытания @ YES @ Xia 2002 (CPZ) @ STD-Xia-2002-_x0028_CPZ_x0029_ @ 579 @ 566 @ 40
edit2: Строка 161 файла
159 @ Длина операции (мин) @ MD @ Y @ 1995 @ CMP-001 @ 01 @ 59.0 @ 47.0 @ Gamma и других cephalocondylic интрамедуллярных ногтей против экстрамедуллярных имплантат для внекапсуларного переломы бедра у взрослых @ IV @ 23.9 @ 01 @ Резюме: Бедровый гвоздь (все типы) против скользкого винта (SHS) @ CD000093 @ 13.3 @ Random @ 12 @ 1 @ 1 @ 53 @ Gamma nail @ YES @ O'Brien 1995 @ STD-O_x0027_Brien-1995 @ 958 @ 941 @ 49
Просматривайте разделы своих данных вокруг проблемной строки, используя аргументы 'skip' и' nrows', чтобы определить, можете ли вы изолировать проблему. – user20650
По какой-то причине, когда я использовал read.csv с аргументом sep = "@", он работал нормально. – user3821273
Хм ... может, вам нужно было установить 'fill = TRUE' в' read.table'. (хотя это может спровоцировать проблему, которую учитывает 'fill', на что следует обратить внимание) – user20650