April 7th, 2014

Alexei Kouprianov

Error in data$var : $ operator is invalid for atomic vectors ; close show.file() pager

Сегодня ночью узнал, что в R не следует загружать данные, в которых имя вектора может совпадать с именем data frame, в которую эти данные загружаются. Пример: в файле были заголовки столбцов year, ..., tot, ... Читали все в массив tot при помощи read.table(). В некоторых случаях при обращении к переменным (например, tot$year при попытке выделить subset(tot, tot$year > 1749)), R выдавала мне ошибку и писала, что $ operator is invalid for atomic vectors. Экспериментальным путем добравшись до замены tot на TOT, удалось сыскать причину.

Чтобы два раза не вставать: избавиться от show.file() можно, нажав на клавиатуре клавишу q.

По неизвестным причинам, ни про одно, ни про другое быстро не нагуглил. Должно быть, это и без того всем, кроме меня, было известно.



This entry was originally posted at http://kouprianov.dreamwidth.org/277315.html Comment wherever you wish.
  • Tags