23

qw()R に文字ベクトルを生成するための Perl のような引用符のような演算子があるかどうか知っている人はいますか?

4

6 に答える 6

25

いいえ、しかし、あなたはそれを自分で書くことができます:

q <- function(...) {
  sapply(match.call()[-1], deparse)
}

そして、それが機能することを示すために:

> q(a, b, c)
[1] "a" "b" "c"
于 2009-07-31T19:37:52.080 に答える
11

この関数を Rprofile.site ファイルに追加しました (詳しく?Startupない場合は参照してください)。

qw <- function(x) unlist(strsplit(x, "[[:space:]]+"))

qw("You can type    text here
    with    linebreaks if you
    wish")
#  [1] "You"        "can"        "type"       "text"      
#  [5] "here"       "with"       "linebreaks" "if"        
#  [9] "you"        "wish"    
于 2012-04-04T01:56:45.197 に答える
8

人気のあるHmisc パッケージCs()は、これを行う機能を提供します。

library(Hmisc)
Cs(foo,bar)
[1] "foo" "bar"

ハドリーの答えと同様の戦略を使用します:

Cs
function (...) 
{
    if (.SV4. || .R.) 
        as.character(sys.call())[-1]
    else {
        y <- ((sys.frame())[["..."]])[[1]][-1]
        unlist(lapply(y, deparse))
    }
}
<environment: namespace:Hmisc>
于 2011-06-28T23:17:07.220 に答える
5
qw = function(s) unlist(strsplit(s,' '))
于 2010-12-12T08:31:59.693 に答える
3

さらに簡単:

qw <- function(...){
as.character(substitute(list(...)))[-1]
}
于 2015-05-15T22:20:48.597 に答える