在cygwin安装的Windows 7框中,我打开了一个bash提示符并执行了以下操作:
`$Rscript -e 'rownames(installed.packages())'`
`[1] "devtools" "SparkR" "Transformers" "base" "boot"
[6] "class" "cluster" "codetools" "compiler" "datasets"
[11] "foreign" "graphics" "grDevices" "grid" "KernSmooth"
[16] "lattice" "MASS" "Matrix" "methods" "mgcv"
[21] "nlme" "nnet" "parallel" "rpart" "spatial"
[26] "splines" "stats" "stats4" "survival" "tcltk"
[31] "tools" "translations" "utils"`
`$ `Rscript -e ' if("devtools" %in% installed.packages()) { library(devtools); print ("hi") }'`
匹配错误(x,table,nomatch = 0L):找不到对象'devtools' 通话:%in% - >比赛
执行停止了。
或
`$ `Rscript -e ' if(is.element("devtools", installed.packages()[,1]) == TRUE) { library(devtools); print ("hi") }'`
匹配错误(el,set,0L):找不到对象'devtools' 电话:is.element - >比赛
执行停止了。
知道我缺少什么来让if条件正常工作。 以上所有内容在R脚本或Windows上的Rstudio中都能正常工作。
此外,我还没有看到在linux操作系统上使用Rscript -e
的if条件有任何问题。所以在Windows上看起来非常不明显。