R Отдельные результаты от кода - PullRequest
0 голосов
/ 30 июня 2011

Я использую R или начинаю использовать R. Я сделал некоторый скрипт, использующий циклы for, если ... и я доволен результатами.

Теперь у меня проблема в том, что в консоли у меня будут все строки кодов (около 150 строк), когда меня действительно интересуют 4 строки, мои результаты.

Есть лиВ любом случае, чтобы очистить консоль, чтобы увидеть только некоторые запрошенные строки?а не все коды?Если нет, я думаю о том, чтобы сохранить их в CSV-файле и получить доступ к CSV-файлу, чтобы увидеть результаты сценария, но это не очень эффективно.

Заранее спасибо

Ксавье

Ответы [ 3 ]

7 голосов
/ 30 июня 2011

Я ожидаю, что это будет зависеть от того, как ваши «результаты» находятся в консоли, и от того, действительно ли все остальное действительно «код». Являются ли эти 4 строки результатом операторов cat / print? Тогда вы можете посмотреть на ?sink, чтобы отправить результаты в файл.

Другой вариант - сохранить эти результаты в переменной (например, в списке), и в конце всех ваших вычислений распечатать этот список. после этого должно быть легко сделать разделение.

4 голосов
/ 30 июня 2011

Вы пишете код в редакторе сценариев, а не в консоли, верно?Другой вариант - использовать source() в сценарии, который будет запускать весь сценарий, но не будет отображаться в консоли (только вывод).RStudio (который я настоятельно рекомендую вам использовать для R; http://rstudio.org/) имеет кнопку «source this file» или что-то в этом роде.

Но, что более важно, получение R для четкого возврата результатов является большимчасть обучения тому, как программировать на R. Вы хотите, чтобы ваши сценарии были понятны и для других! Некоторые решения могли бы сделать некоторые фрагменты кода function или, как Ник предложил сохранять результаты в list.

3 голосов
/ 30 июня 2011

Для меня я бы поместил ваш код в функцию, которая будет эффективно скрывать код из консоли при запуске, и сохранить результаты кода в переменной, а затем сохранить его в файл

foo <- function(x) {
    result<-0
    for(i in 1:length(x)){
        result<-result+x[i]
    }
    return(result)
}

bar <- foo(x=c(2,3,4,5,4,3,2,3,4,5))
write.csv(bar, "resultfile.csv")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...