Мы хотим записать команды и результаты R-скрипта в файл текстового отчета. Канал в текстовый файл хорошо работает с sink()
, но не внутри цикла for.
Скрипт вызывается с
source("myscript.r",echo=TRUE)
Нам нужен цикл для последовательного извлечения всех строк data.frame
в вектор и проведения некоторого векторного анализа с каждым вектором.
Вот краткий пример:
#pipe output to file
sink("myfile.txt",append=TRUE,split=TRUE)
#some data
c1<-rnorm(10,mean=90,sd=10)
c2<-rnorm(10,mean=75,sd=8)
c3<-rnorm(10,mean=98,sd=12)
#data in a data.frame
cData<-data.frame(c1,c2,c3)
#print data.frame
cData
#loop over frame
for (i in 1:ncol(cData))
{
#extract vector
x<-cData[,i]
#do something with vector
n = length(x)
#... more code
#print result
print(n)
}
#close output
sink()
Я пробовал это с sink()
и txtStart()
, но sink()
усекает команды и помещает результаты после цикла, txtStart()
, кажется, повторяет команды, но не результаты.
Я также посмотрел на brew, но мне просто нужен текстовый файл, ничего не отформатированный.