2015-04-16 2 views
1

Im пытается использовать describe функция от psych упаковка. Тем не менее, я получаю следующее сообщение об ошибке:Опишите функцию, которая не работает в R

Error in describe(ToothGrowth) : description must be a string of at least length 1

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

R version 3.1.2 (2014-10-31) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C 
[5] LC_TIME=English_United States.1252 

attached base packages: 
[1] tools tcltk stats4 splines parallel grid compiler 
[8] stats graphics grDevices utils datasets methods base 
+3

Работает для меня. Не могли бы вы вывести вывод 'sessionInfo()'? –

+0

R версия 3.1.2 (2014-10-31) Платформа: x86_64-W64-mingw32/64 (64-битный) локали: [1] LC_COLLATE = English_United States.1252 LC_CTYPE = English_United States.1252 [ 3] LC_MONETARY = English_United States.1252 LC_NUMERIC = С [5] LC_TIME = English_United States.1252 прикрепленные базовые пакеты: [1] инструменты tcltk stats4 шлицы параллельной сетки компилятор [8] Статистика графики grDevices Utils наборы данных методов базы – Samehmagd

+0

Он не выглядит так, как загружается «psych». Вы делали 'library (" psych ")'? – user20650

ответ

4

Проблема заключается в том, что testthat::describe переопределяет psych::describe:

library(psych) 
data(ToothGrowth) 
describe(ToothGrowth) 
# Warning in FUN(newX[, i], ...) : 
# no non-missing arguments to min; returning Inf 
# Warning in FUN(newX[, i], ...) : 
# no non-missing arguments to max; returning -Inf 
#  vars n mean sd median trimmed mad min max range skew kurtosis se 
# len  1 60 18.81 7.65 19.25 18.95 9.04 4.2 33.9 29.7 -0.14 -1.04 0.99 
# supp* 2 60 NaN NA  NA  NaN NA Inf -Inf -Inf NA  NA NA 
# dose  3 60 1.17 0.63 1.00 1.15 0.74 0.5 2.0 1.5 0.37 -1.55 0.08 

library(testthat) 
# Attaching package: ‘testthat’ 

# The following object is masked from ‘package:psych’: 

#  describe <-- overrides describe function of psych package 

# The following object is masked from ‘package:sos’: 

#  matches 

describe(ToothGrowth) 
# Error in describe(ToothGrowth) : 
# description must be a string of at least length 1 

Одно из решений заключается в загрузке testthat перед тем psych. Другой вариант - указать, какой describe использовать функцию:

psych::describe(ToothGrowth) 
+0

@ Pascal-> Тонны благодарности ,,, он работает! – Samehmagd

+0

Я бы порекомендовал второе решение @ Паскаля, 'psych :: описать (ToothGrowth)'. Это легче поддерживать, поскольку пакет сразу задается рядом с функцией. – davechilders

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