2016-09-20 2 views
0

Нормально ли, что описание в глобальной среде не обновляется, когда я добавляю столбец в свою таблицу данных? И почему мне нужно дважды вызвать объект, когда я назначаю его DT при добавлении столбца?поведение таблицы данных после добавления столбца

rm(list=ls()) 
if(!require(data.table)) { install.packages("data.table"); require(data.table)} 
DT<-data.table(v1 = runif(50, 0, 10), v2 = runif(50, 0, 10)) 
DT[,v3:=v1+v2] 
DT 
DT<-DT[,v4:=v1+v2] 
DT 
DT 
+0

Возможный дубликат: http://stackoverflow.com/questions/32988099/data-table-objects-not-printed-after-returned-from-function – Jaap

+4

Да, это нормально (если вы обратитесь к RStudio Панель «Окружающая среда»). Поскольку объект фактически не вырос (из-за предыдущего перераспределения), RStudio не может знать, что он вырос. – Roland

+0

Хорошо, что печатная вещь кажется дублирующей. Да, я имею в виду панель RStudio «Окружающая среда». Почему это нормально? И когда он обновляется? –

ответ

2

Вопрос конкретно к области охраны окружающей среды в RStudio (он показывает глобальную окружающую среду в большую часть времени, но он может быть переключен на другой среде), то для обновления объекта:

  1. вам можно щелкнуть RStudio refresh, хотя я нахожу его медленным и нуждаюсь в обновлении всего, особенно если у вас много огромных объектов в среде.

  2. вы можете щелкнуть объект, чтобы открыть его в браузере данных, в котором будут отображаться обновленные данные. если объект уже открыт в браузере данных, щелкните его еще раз, чтобы обновить его. Это намного быстрее, чем обновление.

  3. или вы можете сделать браузер данных как независимое окно с кнопкой панели инструментов в новом окне, а затем щелкнуть правой кнопкой мыши, чтобы обновить это окно, когда это необходимо. Это также быстрее, чем обновление.

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