Удалить имена строк, используя capture.output в R? - PullRequest
0 голосов
/ 22 января 2020

Этот вопрос похож на R: формат вывода write.table , и 42-х ответ работает, за исключением того, что мне нужно удалить имена строк. capture_output не имеет эквивалента row.names = FALSE. Я также пробовал row.names(aa) <- NULL до запуска capture.output, но это не помогает.

Можно ли сгенерировать выровненный по правому краю текстовый файл так же, как это делает capture.output ниже, но без имен строк?

aa = matrix(c(1000,110,10,1, 
            0,2000,20,2, 
            30,300,3000,30000), nrow=3, byrow=TRUE,
            dimnames = list(NULL, c("C1", "C2", "C3","C4")))
aa<-as.data.frame(aa)
aa

capture.output( print(aa, print.gap=3), file="capture.txt")

write.fwf не выровнено по правому краю как желаемый:

write.fwf(aa, "fwf.txt", rownames=FALSE, sep="\t", quote=FALSE, justify = "right")

Спасибо!

1 Ответ

2 голосов
/ 22 января 2020

Чтобы удалить имена строк, используйте row.names = FALSE непосредственно в операторе print:

capture.output(print(aa, print.gap=3, row.names = FALSE), file="capture.txt")

Вывод capture.txt:

     C1     C2     C3      C4
   1000    110     10       1
      0   2000     20       2
     30    300   3000   30000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...