2014-03-25 25 views
1

我想用paste()cat()爲我設置一些文本。我有以下變量和矩陣。固定寬度後用貓創建換行符

z = 7 
b = 2 
dest <- 1 

dummy_data <- matrix(nrow = b*dest, ncol= z) 
dummy_data[is.na(dummy_data)] <- "_" 
dummy_data <- paste(dummy_data,collapse=", ") 

我想是再使用的dummy_data變量cat()和z元素後後有一個換行符休息。這似乎應該可以使用fill=TRUE選項,但我無法弄清楚如何。我有什麼是這個

> cat(dummy_data,"\n") 
_, _, _, _, _, _, _, _, _, _, _, _, _, _ 

我要的是這個

_, _, _, _, _, _, _, 
_, _, _, _, _, _, _ 

如何使用cat()或類似的東西來做到這一點?

+0

告訴我們你實際上是試圖做。你是真的想要打印一個矩陣,還是隻創建dummy_data矩陣來說明你想要做什麼?爲什麼不嘗試'rep()'函數? – smci

回答

0

嗨也許有更好的方法,但你可以這樣做:

dummy_data <- matrix(nrow = b*dest, ncol= z) 
dummy_data[is.na(dummy_data)] <- "_" 
dummy_data <- paste(apply(dummy_data, 1, paste, collapse=", "), collapse="\n") 
cat(dummy_data) 

_, _, _, _, _, _, _ 
_, _, _, _, _, _, _ 
+0

謝謝,這對我完美的作品。 –

+0

添加:'dummy_data < - paste(apply(dummy_data,1,paste,collapse =「,」),collapse =「,\ n」)' –