magrittr
コマンドチェーンを使用している場合、グローバル環境では動作していないからです。
のは、あなたのコマンドを実行してみましょうが、同じトークンによって環境を返す:
は
library(magrittr)
rm(list=ls())
parallel_universe <- "http://www.mosaic-web.org/go/datasets/DCF/MeasTreatTables.rda" %>%
url() %>%
{load(.);environment()}
今度は、これらの環境を探検してみましょう:
ls()
#[1] "parallel_universe"
ls(parallel_universe)
#[1] "Measurements" "Treatments"
我々は間違ってスペースを移入してきました。それでは、もう一度試してみましょう:
rm(list=ls())
"http://www.mosaic-web.org/go/datasets/DCF/MeasTreatTables.rda" %>%
url() %>% load(globalenv())
ls()
# [1] "Measurements" "Treatments"
多田
あなたはparent.frame()
に割り当てることはできません、それは動作しません、magrittr
が営巣環境ですので、あなたが本当に地球環境のこの外側を使用する場合、これは動作します:
my_env <- environment()
"http://www.mosaic-web.org/go/datasets/DCF/MeasTreatTables.rda" %>%
url() %>% load(my_env)
も参照してください:Assigning to temp variables inside of `maggritr` command chain
なるほど!したがって、並列環境で名前を評価すると(例えば 'eval(代理(Treatments)、envir = parallel_universe)')、その名前のデータフレームを取得します。ニース!大変ありがとう、@Moody_Mudskipper。 –
ちょうど 'eval(Treatments、envir = parallel_universe)'がする:)または 'get(" Treatments "、envir = parallel_universe) –
実際には、最初のものは動作しません。オブジェクト 'Treatments'は見つかりません。 –