2012-06-12 4 views
0

Я работаю в R версии 2.15.0 на Mac OS X (Intel, 64-разрядная версия). Когда я применяю prompt к векторному объекту, он выдает ошибку, если не укажу аргумент file. Кроме того, когда я предоставляю имя файла, в скелете файла справки есть странности (например, многие команды \ name, \ alias и \ use, по одному для каждого элемента вектора). Являются ли эти ожидаемые результаты подсказки при указании вектора? Примеры команд, которые копируют проблему:Создание файла справки для векторного объекта

> COL <- rgb(1:4/4, 4:1/4, c(1, 0, 1, 0)) 
> prompt(COL) 
Error in file(file, ifelse(append, "a", "w")) : 
    invalid 'description' argument 
In addition: Warning messages: 
1: In if (is.na(filename)) return(Rdtxt) : 
    the condition has length > 1 and only the first element will be used 
2: In if (file == "") file <- stdout() else if (substring(file, 1L, : 
    the condition has length > 1 and only the first element will be used 
3: In if (substring(file, 1L, 1L) == "|") { : 
    the condition has length > 1 and only the first element will be used 
> prompt(COL, file="COL.Rd") 
Created file named ‘COL.Rd’. 
Edit the file and move it to the appropriate directory. 

одна нечетная компонента: при запуске 32-битного R на моей машине и погрузки в упаковке, R не будет правильно загружать и разрешить доступ к векторному объекту, когда он из пакет (то есть он выдает ошибку: Error: internal error -3 in R_decompress1). Однако, когда я непосредственно загружаю объект .rda, все в порядке в 32-битном R. Ожидаются ли такие проблемы/несоответствия при запуске R 32-бит на 64-битной машине?

Редактировать: Еще один вопрос. Любая идея о том, как получить .R и .rda файлы, которые нужно открыть в R 64-бит по умолчанию? Трюк «Получить информацию» не работает ... при нажатии «Изменить все» он возвращается к 32-битной по умолчанию R 32. Кажется, что это проблема для определенных типов файлов.

Спасибо!

+0

Какую ошибку он бросает, когда не указывается 'файл'? –

+0

Привет, Пол, спасибо. Я обновил код выше, чтобы показать вывод для трех строк кода. –

+1

У вас есть три отдельных вопроса, пожалуйста, не задавайте несколько вопросов в одном вопросе. Я бы рекомендовал создать три отдельных вопроса. –

ответ

3

Как сказал Павел, разделите свои вопросы в следующий раз.

Что касается функции prompt:

  • Если вы не укажете Anthing, имя файла устанавливается в NULL, и поведение по умолчанию является то, что сам объект используется для создания файла. Когда вы передаете вектор, функция видит это как вектор объектов и, следовательно, создает вектор имен. Это дает сообщение об ошибке.

  • Если вы хотите документировать векторный объект, вместо этого используйте аргумент name, например: prompt(name="COL"). Это даст вам желаемое поведение

  • Если вы хотите увидеть список, ?prompt сообщает, что вы должны указать filename=NA. Выход будет поступать на консоль.

Открытие файлов .R и .rda по 64 бит по умолчанию зависит от ОС. В Windows вы можете это сделать, например, с помощью панели управления> Программы по умолчанию> установить ассоциации, а затем установить связь с 64-битным двоичным файлом R (для поиска в ... \ R \ R-2.15.0 \ bin \ x64) ,

Второй вопрос невозможно ответить без дальнейших подробностей. Я предлагаю вам разобраться, как воспроизвести это (см. this question) и задать его в новом вопросе

+0

Спасибо! В следующий раз я обязательно разлюблю свои вопросы. –