2012-04-21 6 views
2

Я стараюсь сделать сам пакет r. Я выполнил инструкцию в предыдущем вопросе в stackoverflow на how to develop package for layman. Вот шаги, которые я делаю после предыдущего вопроса.Создание пакета для Mac в Windows/Linux

  1. Run R код в свежей R сессии

    # random DNA function 
    randDNA = function(n){ 
    paste(sample(c("A", "C", "T", "G"), n, replace = TRUE), collapse = "") 
    } 
    # DNA to RNA function 
    dna2rna <- function(inputStr) { 
        if (!is.character(inputStr)) 
        stop("need character input") 
        is = toupper(inputStr) 
        chartr("T", "U", is) 
    } 
    
    # complementary sequence function 
    compSeq <- function(inputStr){ 
    chartr("ACTG", "TGAC", inputStr) 
    } 
    
    # example data 
    dnaseq1 <- c("ATTGTATCTGGGTATTTCCCTTAATTGGGGCCTTT") 
    dnaseq2 <- c("TGGGGTAAACCCGGTTTAAAATATATATATTTTT") 
    myseqdata <- data.frame(dnaseq1, dnaseq2) 
    save(myseqdata, file = "myseqdata.RData") 
    
  2. Установите Rtools Установите R пакет utils

  3. Pefrom следующие задачи в R

    require(utils) 
    package.skeleton(list = c("randDNA","dna2rna", "compSeq", "myseqdata"), 
    name = "dnatool",environment = .GlobalEnv, path = "c:", force = FALSE) 
    
  4. Редактировать системное окружение Переменный путь к следующим в окнах 7

    C:\Rtools\bin;C:\Rtools\perl\bin;C:\Rtools\MinGW\bin; 
    C:\Program Files\R\R-2.14.2\bin\x64; 
    

    (типа >path в командной строке, чтобы проверить, если путь установлен правильно.

  5. Скопируйте папку dnatool на стадии (3) и поместить в новую папку с именем rpackage, Теперь измените каталог в эту папку (в DOS)

    c: \ repackage> R CMD build dnatool 
    c: \ repackage> Rcmd build dnatool 
    

    Edit: Я когда-то получаю dnatool.zip но другие времена dnatool.tar.gx

  6. Проверка пакета в командной строке (DOS)

    c: \ repackage> R CMD check dnatool 
    

Я смог упаковать его в виде «dnatool.zip» в окнах.

Как скомпилировать для источника MAC или unix? Какие шаги разные?

Unix source:  dnatool.tar.gz 
Mac OS X binary: dnatool.tgz 

Нужен ли мне компьютер Mac. У меня есть linux virtualbox и установлен в нем ubuntu?

Edit:

Должен ли я использовать следующий commad, чтобы получить sourcode бинарного со стадией (3) dnatool папок?

$ tar -zcvf dnatool.tar.gz/home/dnatool 

ответ

2

Пакет, который был создан с использованием R CMD build, может быть установлен на другие типы ОС. Даже если ваш пакет содержит исходный код, отличный от R (c или C++), это так. Только когда вы создаете двоичный дистрибутив (я думаю, добавив --binary в вызов сборки r cmd), пакет становится специфичным для платформы. Инструменты, необходимые для сборки пакетов, часто уже устанавливаются под Linux или Mac. Поэтому, если вы создаете исходный дистрибутив, он должен работать во всех основных дистрибутивах. Чтобы создать двоичный файл mac, вам нужен либо макрос, либо создать среду кросс-компилятора. Второй вариант может быть довольно сложным, я говорю, что вы можете дать Google. Обратите внимание, что если вы загружаете свой пакет в CRAN, для вас будет создано все пакеты пакетов.

+0

спасибо, вы имеете в виду, что «dnatool.zip» можно использовать в средах unix? – jon

+0

«Обратите внимание, что если вы загружаете свой пакет в CRAN, для вас будет создано все пакеты пакетов». что должно быть загружено в CRAN?извините за простой вопрос – jon

+0

zip-файл - это двоичный файл Windows, просто создайте исходный дистрибутив (tar.gz), и вы должны быть в порядке под Windows, Mac или Linux. Обратите внимание, что в этом случае пользователю необходимо установить инструменты сборки. Однако в Linux это часто бывает, и в Mac и Windows их довольно просто установить. Когда ваш пакет находится на CRAN (если вы планируете это), все эти проблемы исчезнут, и пользователи смогут установить его с помощью 'install.packages'. –

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