1

Rでは、乗算表を印刷する最速の方法(最短コード)は何ですか? 関数 seq rep と bind 関数が役立ちますが、これを行うためのコードの最短行を探しています。

rbind("1\'s"=1:12, "2\'s"=seq(2,24,2), "3\'s"=seq(3,36,3), 
      "4\'s"=seq(4,48,4), "5\'s"=seq(5,60,5), "6\'s"=seq(6,72,6))

1 から 6 まで (横方向) に印刷します。これをよりコンパクトな方法で実行する方法を知っている人はいますか?

4

2 に答える 2

9
tbl <- outer(1:6, 1:12, "*")
rownames(tbl) <- paste(1:6, "'s", sep="")
tbl

を使用して、もう少しコンパクトにすることができますpaste0(1:6, "'s")

これはわずかな改善のようです:

> v<-setNames(1:6, paste0(1:6, "\'s"))
> v %o% v
    1's 2's 3's 4's 5's 6's
1's   1   2   3   4   5   6
2's   2   4   6   8  10  12
3's   3   6   9  12  15  18
4's   4   8  12  16  20  24
5's   5  10  15  20  25  30
6's   6  12  18  24  30  36
于 2012-05-31T20:33:51.157 に答える