ユーザーが引用符なしでデータを読み取れるようにするパッケージの関数を作成しようとしています。最終的な出力が文字であっても、関数が 3.30 を 3.3 に変えることを除けば、ほぼ期待どおりに機能します。数値である要素を読み込むが、末尾のゼロを削除しない関数を取得するにはどうすればよいですか。全体像のアイデアは次のとおりです。
- 引用符を使用せずに要素を読み取る関数
- 関数は、R が重要でないゼロと見なすものを破棄しません。
- 要素は数値に見えるかもしれませんが、文字要素として出力したい
ここに2つの試みとそれらが出力したものがあります(1つの試みともう1つのsubstitute(...())
試みmatch.call(expand.dots = FALSE)
:
#attempt #1
fun <-
function(...){
substitute(...())
}
fun(3.30, 5.05)
#dropped zero on 3:30 (not what I want)
> fun(3.30, 5.05)
[1] "3.3" "5.05"
#attempt #2
fun <-
function(...){
x <- match.call(expand.dots = FALSE)
as.character(x[[2]])
}
fun(3.30, 5.05)
#again dropped zero on 3:30 (not what I want)
> fun(3.30, 5.05)
[1] "3.3" "5.05"
引用符を使用すると、必要なものが出力されますが、これは引用符を提供する必要がないという目的を無効にします。
fun('3.30', '5.05')
> fun('3.30', '5.05')
[1] "3.30" "5.05"
PS誰かがこのスレッドのより良いタイトルを持っている場合は、自由に編集してください