2014-11-14 5 views
0

Мне нравится использовать функцию View в RStudio, чтобы узнать, правильно ли загружены мои данные. Но, когда данные «большие», для выполнения этой функции требуется много времени.Почему функция `View` занимает так много времени?

Это время для 2мм строк и 9 колонки data.frame

> system.time(View(bd_cadastral)) 
user system elapsed 
3.156 0.004 3.164 

В RStudio, функция показывает только первые 1000 строк, так что если я View(bd_cadastral[1:1000,]:

> system.time(View(bd_cadastral[1:1000,])) 
    user system elapsed 
    0.068 0.000 0.089 

Разве это не должно быть примерно в одно и то же время?

+0

Ну, потребуется немного времени, чтобы сделать табличный документ html на 2 миллиона строк. Что заставляет вас думать, что 1000 строк занимают столько же времени, сколько 2 миллиона? –

+0

Я могу себе представить, но почему функция делает распространение по каждой строке, показывая только первые 1000? –

+0

Я действительно думаю, что этот вопрос должен сразу перейти к команде разработчиков RStudio: P – Barranka

ответ

3

Если вы заглянете внутрь функции, вы увидите, что она не принимает непосредственно подмножество, которое оно покажет. Сначала он пытается принудить все это к кадру данных и использует lapply и sapply на возможно преобразованном входе. И даже в самом конце он передает всю переменную программе C, которую, как я полагаю, выполняет подмножество. Все эти шаги работают быстрее с первоначально меньшим объектом.

Если вы спрашиваете, почему он был построен таким образом ... черт возьми, если я знаю. Возможно, в случае, если ограничения программы смены программы или что-то еще.

Сторона Примечание: Ctrl + Click на функции приводит к ее коду. Для таких вопросов может быть полезно

+0

, кстати, когда я пытаюсь проверить отдельные части программы, я заметил, что не могу использовать '.External2 (C_dataviewer, x, title)' потому что он дает объекту не найденную ошибку вне функции просмотра. Я попытался определить другую функцию, но это не сработало. кто-нибудь знает почему? – OganM

Смежные вопросы