文字ベクトルがあるとします:
char <- c("one", "two", "three")
インデックス値を参照すると、次のものが得られます。
> char[1]
[1] "one"
以下を取得するために、戻り値から引用符を取り除くにはどうすればよいですか?
[1] one
as.name(char[1])
は動作しますが、なぜこれを本当にしたいのかはわかりませんが、たとえば、引用符はpaste
に引き継がれません:
> paste("I am counting to", char[1], char[2], char[3])
[1] "I am counting to one two three"
Noquote(a)を試してください
noquote( "a")
[1] a
戻り値には引用符はありません。値を表示するときのprint()からのデフォルト出力にのみあります。試して
> print(char[1], quote=FALSE)
[1] one
または
> cat(char[1], "\n")
one
引用符なしで値を表示します。
Quantmodの「シンボル」(ある金融物事のコードに関連する用語)とRの「タイプ」であるRの「シンボル」を混同しています。
あなたは言った:
Quantmod :: getSymbols()に渡すストックシンボルの文字ベクトルがあり、関数は引用符なしでシンボルを環境に返します
よくほとんど。指定された環境でそれらの名前のオブジェクトを作成します。あなたがやりたいと思うのは、名前から環境から物を取り出すことです。そのためには、「get」が必要です。デフォルト環境で動作するサンプルコードを以下に示します。
getSymbols( 'F'、src = 'yahoo'、return.class = 'ts')[1] "F"
あなたが望むものの文字のベクトルを持っているので:
> z="F"
> z
[1] "F"
そして魔法:
> summary(get(z))
F.Open F.High F.Low F.Close
Min. : 1.310 Min. : 1.550 Min. : 1.010 Min. : 1.260
1st Qu.: 5.895 1st Qu.: 6.020 1st Qu.: 5.705 1st Qu.: 5.885
Median : 7.950 Median : 8.030 Median : 7.800 Median : 7.920
Mean : 8.358 Mean : 8.495 Mean : 8.178 Mean : 8.332
3rd Qu.:11.210 3rd Qu.:11.400 3rd Qu.:11.000 3rd Qu.:11.180
Max. :18.810 Max. :18.970 Max. :18.610 Max. :18.790
そして、あなたが私を信じないなら:
> identical(F,get(z))
[1] TRUE
私は推測しています、これはあなたが達成しようとしているものの球場にありますか?
> a <- "a"
> a
[1] "a" # quote yes
> as.factor(a)
[1] a #quote no
次の場合:
> char<-c("one", "two", "three")
あなたはできる:
> print(char[1],quote = FALSE)
結果は次のようになります。
[1] one
元のポスターに非常によく似たものを試していたと思います。チャート内の名前は継承されませんでしたが、get()が機能しました。ここに私のために働いたコードがあります。
#install it if you dont have it
library(quantmod)
# a list of stock tickers
myStocks <- c("INTC", "AAPL", "GOOG", "LTD")
# get some stock prices from default service
getSymbols(myStocks)
# to pause in between plots
par(ask=TRUE)
# plot all symbols
for (i in 1:length(myStocks)) {
chartSeries(get(myStocks[i]), subset="last 26 weeks")
}
最も簡単な方法は次のとおりです。
> a = "some string"
> write(a, stdout()) # Can specify stderr() also.
some string
エラー処理の印刷を行っている場合、stderr
に印刷するオプションを提供します。
nump関数:)
> nump <- function(x) print(formatC(x, format="fg", big.mark=","), quote=FALSE)
正解:
x <-1234567890123456
> nump(x)
[1] 1,234,567,890,123,456
noquote
とpaste
を組み合わせたものを次に示します。
noquote(paste("Argument is of length zero",sQuote("!"),"and",dQuote("double")))
#[1] Argument is of length zero ‘!’ and “double”