Ошибка в таблице (x, y): попытка создать таблицу с ›= 2^31 элементом

У меня проблема с отображением результатов. Раньше (около двух недель назад) я мог использовать тот же код ниже для построения своих данных, но теперь я получаю сообщение об ошибке

data<- read.table("my_step.odt", header = FALSE, sep = "", quote="\"'", dec=".", as.is =  FALSE, strip.white=FALSE, col.names=c(.......); 
mgn_my <- data[1:49999,18]
sim  <- data[1:49999, 21]
plot(sim , mgn_my , type="l",xlab="Time (ns)",ylab="mx")

ошибка

Error in table(x, y) : attempt to make a table with >= 2^31 elements

любое предложение?


person Alexander    schedule 13.05.2014    source источник
comment
Команда plot вызвала ошибку или вы вызвали table для некоторых ваших переменных?   -  person josliber♦    schedule 13.05.2014
comment
Дорогая команда @josilber plot вызвала это!   -  person Alexander    schedule 13.05.2014
comment
Не могли бы вы предоставить воспроизводимый пример, см. здесь   -  person FFI    schedule 13.05.2014
comment
Вы должны уменьшить размер данных в любом случае. График всех 50 тысяч точек (или создание линии из них) будет неотличим от построения каждой сотой точки. Тем не менее, либо с вашим набором данных явно что-то не так, либо у вас опечатка и вы назвали не тот объект. R может легко построить 500 000 точек. Или, возможно, вы как-то перегрузили plot.   -  person Carl Witthoft    schedule 13.05.2014


Ответы (1)


У меня была аналогичная проблема, как у вас раньше. Основываясь на моем ответе от другой пост, вот что я бы посоветовал перед запуском plot:

Вариант 1. Используйте droplevels

mgn_my <- droplevels(data[1:49999,18])

Вариант 2: Используйте apply. Этот подход кажется «дружественным», если вы знакомы с функциями семейства apply в R. Например:

mgn_my <- data[1:49999,18]
apply(mgn_my,1,plot)
person David C.    schedule 29.10.2016