Есть ли какие-либо хорошие обозреватели объектов R?

Pandas позволяет указывать кодировку, но не позволяет игнорировать ошибки, чтобы не автоматически заменять оскорбительные байты. Таким образом, нет одного размера, соответствующего всем методам, но по-разному в зависимости от фактического варианта использования.

  1. Вы знаете кодировку, и в файле нет ошибки кодирования , Отлично: вам нужно просто указать кодировку:
    file_encoding = 'cp1252'        # set file_encoding to the file encoding (utf8, latin1, etc.)
    pd.read_csv(input_file_and_path, ..., encoding=file_encoding)
    
  2. Вы не хотите беспокоиться о вопросах кодирования и хотите, чтобы этот проклятый файл загружался, независимо от того, содержат ли какие-то текстовые поля мусор. Хорошо, вам нужно использовать кодировку Latin1, потому что она принимает любой возможный байт как вход (и преобразует его в символ Юникода того же кода):
    pd.read_csv(input_file_and_path, ..., encoding='latin1')
    
  3. Вы знаете, что большая часть файла написанный с определенным кодированием, но также содержит ошибки кодирования. Пример реального мира - это файл UTF8, который был отредактирован с помощью редактора un utf8 и который содержит некоторые строки с другой кодировкой. Pandas не предусматривает специальной обработки ошибок, но функция Python open имеет (предполагая Python3), а read_csv принимает файл, подобный объекту. Типичными параметрами ошибок, которые следует использовать здесь, являются 'ignore', которые просто подавляют оскорбительные байты или (ИМХО лучше) 'backslashreplace', который заменяет оскорбительные байты их защитой от обратного сбрасывания Python:
    file_encoding = 'utf8'        # set file_encoding to the file encoding (utf8, latin1, etc.)
    input_fd = open(input_file_and_path, encoding=file_encoding, errors = 'backslashreplace')
    pd.read_csv(input_fd, ...)
    
26
задан Shane 6 September 2009 в 21:27
поделиться

6 ответов

Функция lsos () , показанная в в этом вопросе SO , также является браузером примитивных объектов:

R> lsos()
               Type  Size Rows Columns
ls.objects function 11792   NA      NA
lsos       function  1112   NA      NA
s           numeric   824  100      NA
y           numeric   184   20      NA
x           numeric    56    3      NA
z           logical    32    1      NA
R> 
16
ответ дан 28 November 2019 в 06:32
поделиться

str () очень полезно. Задание give.attr=FALSE скрывает атрибуты.

> str(diamonds)
'data.frame':   53940 obs. of  10 variables:
 $ carat  : num  0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
 $ cut    : Factor w/ 5 levels "Fair","Good",..: 5 4 2 4 2 3 3 3 1 3 ...
 $ color  : Factor w/ 7 levels "D","E","F","G",..: 2 2 2 6 7 7 6 5 2 5 ...
 $ clarity: Factor w/ 8 levels "I1","SI2","SI1",..: 2 3 5 4 2 6 7 3 4 5 ...
 $ depth  : num  61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
 $ table  : num  55 61 65 58 58 57 57 55 61 61 ...
 $ price  : int  326 326 327 334 335 336 336 337 337 338 ...
 $ x      : num  3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
 $ y      : num  3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
 $ z      : num  2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...
5
ответ дан 15 October 2019 в 07:27
поделиться

А как насчет Погремушка ?

Rattle означает R A аналитический T ool T o L заработать E asily . Согласно веб-сайту Rattle '' - популярный графический интерфейс для интеллектуального анализа данных с использованием R. Он представляет статистические и визуальные сводки данных, преобразует данные, которые можно легко смоделировать, строит как неконтролируемые, так и контролируемые модели из данных, представляет производительность моделей графически и оценивает новые наборы данных ».

3
ответ дан 28 November 2019 в 06:32
поделиться

В руководстве к режиму ESS для Emacs говорится следующее:

13.7 Rdired

Ess-rdired предоставляет буфер для просмотра, подобный dired, редактирование и построение объектов в текущем сеансе R. Если вы привыкли использовать возможность dired (редактор каталогов) в Emacs, этот режим дает вам аналогичная функциональность для объектов R.

Для начала убедитесь, что вы можете загрузить ess-rdired. Добавить следуя вашему .emacs, а затем перезапустите emacs.

 (autoload 'ess-rdired "ess-rdired"  
   "View *R* objects in a dired-like buffer." t)  

Начните сеанс R с помощью `Mx R ', а затем сохраните несколько переменных, например как:

 s <- sin(seq(from=0, to=8*pi, length=100))
 x <- c(1, 4, 9)
 y <- rnorm(20)
 z <- TRUE

Затем используйте `Mx ess-rdired ', чтобы создать буфер, перечисляющий объекты в вашей текущей среде и отобразите ее в новом окне:

             mode length
   s      numeric    100
   x      numeric      3
   y      numeric     20
   z      logical      1

Введите Ch m или ? , чтобы получить список сочетаний клавиш для этого режима. Например, если ваша точка находится в строке переменной, p построит график объект, v будет просматривать его, а d пометит объект для удаления ( x фактически выполнит удаление).

19
ответ дан 28 November 2019 в 06:32
поделиться

В rkward R IDE есть встроенный браузер / редактор объектов, который кажется весьма полезным, однако я сам не использовал его

скриншоты здесь

3
ответ дан 28 November 2019 в 06:32
поделиться

Я использую Tinn-R , в котором есть замечательное окно R-проводника, в котором отображается список объектов. Также можно выбрать вид, в котором отображаются детали объектов. Tinn-r - отличный редактор сценариев (что является его основной целью) и имеет некоторые ярлыки, такие как dataframe.name $ [ctrl-shift-D], который вызывает список имен столбцов в dataframe.name, чтобы программист не нужно помнить их и их точное написание.

3
ответ дан 28 November 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: