1

特殊文字を含む R マトリックス/データ フレームを構築しようとしています。たとえば、1 つのセルには"2\u00B15\u00B3"(「2±5³」) が含まれます。

数字の上付き文字の代わりに上付き文字にラテン小文字のアルファベットを使用する必要があり、上付き文字としていくつかのアルファベットの Unicodeしか見つけることができませんでした。

プロット関数内のすべての特殊記号 (軸、タイトルなどのラベル付けなど) には精通していますが、マトリックス内で「上付き文字」が必要です。

編集:私はこのようなことをしたかったのですが、1 つだけ例外があり3.5\u00B12\u00B3ます。

require(rtf)
rtf<-RTF("./Doc/test_addTable.doc",width=8.5,height=11,font.size=10,omi=c(1,1,1,1))

A = data.frame(Sepal.Length = c(5.1, 4.9, 4.7, 4.6, 5, 5.4),
Sepal.Width = c(3.5, 3, 3.2, 3.1, 3.6, 3.9),
Petal.Length = c(1.4,  1.4, 1.3, 1.5, 1.4, 1.7), Petal.Width = c(0.2, 0.2, 0.2,0.2,0.2, 0.4))

A[1,2] = "3.5\u00B12\u00B3"

addTable(rtf,A,font.size=10,row.names=FALSE,NA.string="-",col.widths=rep(1,4))

done(rtf)

お時間をいただきありがとうございます。

4

1 に答える 1

0

R には、mini-LaTeX に似ているが「プロットマス」と呼ばれるシステムがあります。式オブジェクトから駆動され、式が text=plotting 値にヒットしたときに呼び出されます。プロットしないのであれば、このようなマトリックスを使用してもあまり意味がありません。そのため、文字値を上付き文字として上げる方法を説明します。

?plotmath
plot(1,1)
text( x=c(.8), y=c(1.2), substitute( 2%+-%5^x, list(x="A") ))

これは、単一のインスタンスに必要な場合よりも少し複雑ですが、一般性を高めるように設計されています。次のこともできます。

text( x=c(.8), y=c(.8), expression(2%+-%5^B) )

plotmath の行列 (文字形式) が必要な場合:

mat <- matrix( c( '2%+-%5^B' , '2%+-%5^C',
                  '2%+-%5^D' , '2%+-%5^B'), 2, 2)
mat

真の R 式オブジェクトを実際に行列として構築することはできません (少なくとも私はできません)。

 mat <- matrix( expression(2%+-%5^B , 2%+-%5^C,
                   2%+-%5^D , 2%+-%5^B), 2, 2)
     mat
#expression(2 %+-% 5^B, 2 %+-% 5^C, 2 %+-% 5^D, 2 %+-% 5^B)
> str(mat)
length 4 expression(2 %+-% 5^B, 2 %+-% 5^C, 2 %+-% 5^D) ...
 - attr(*, "dim")= int [1:2] 2 2
> mat[1,1]
Error in mat[1, 1] : matrix subscripting not handled for this type
> mat[1]
expression(2 %+-% 5^B)
> mat[2]
expression(2 %+-% 5^C)
> mat[3]
expression(2 %+-% 5^D)

マトリックス関数を取得して式オブジェクトに次元を付加することはできましたが、その次元を尊重することはありませprintんでした。[ゴールについては不明なままです。パッケージにはrtfaddTable メソッドがありますが、rtf 対応アプリケーションによって「マトリックス」形式または表形式で出力されるオブジェクトが本当に必要なのか疑問に思っています。

はぁ....私はそれを持っていると思います:

 mat <- matrix( c( '2\\+/-5 {\\up3B}' , '2%+-%5 \\up5C',
                   '2%+-%5\\up3B' , '2%+-%5\\up4H'), 2, 2)
 mat
#     [,1]               [,2]          
#[1,] "2\\+/-5 {\\up3B}" "2%+-%5\\up3B"
#[2,] "2%+-%5 \\up5C"    "2%+-%5\\up4H"
 rtf<-RTF("test_addTable.doc",width=8.5,height=11,
                  font.size=10,omi=c(1,1,1,1))
 addTable(rtf, mat)
 done(rtf)

ここに画像の説明を入力

さらに、プラスマイナス記号を指摘したと思います。試す:

 "2\\u177BD5 {\\up3B}"
于 2013-11-12T07:53:37.663 に答える