我正在努力使用不同的R可执行文件.在批处理文件中运行命令行时,R.exe(带或不带CMD BATCH选项),Rcmd.exe,Rscript.exe和Rterm.exe之间的区别究竟是什么?
有什么区别:
R.exe --no-environ --no-save < "c:\temp\R\test.R" > "c:\temp\R\out.txt" 2>&1
Run Code Online (Sandbox Code Playgroud)
和
R.exe CMD BATCH --no-environ --no-save "c:\temp\R\test.R" "c:\temp\R\out.txt"
Run Code Online (Sandbox Code Playgroud)
输出没有区别.
我在3079页的参考手册中找不到有关Rcmd.exe和Rscript.exe的任何信息.
顺便说一下:我正在使用Windows.
我正在尝试glmnet
在数据集上使用该包.我正在使用cv.glmnet()
获取lambda值glmnet()
.我将它们排除在第1,2,7,12列之外:id列,响应列,包含NA,并包含NA.
这是数据集和错误消息:
> head(t2)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
1 1 1 0.7661266 45 2 0.80298213 9120 13 0 6 0 2
2 2 0 0.9571510 40 0 0.12187620 2600 4 0 0 0 1
3 3 0 0.6581801 38 1 0.08511338 3042 2 1 0 0 0
4 4 0 0.2338098 30 0 0.03604968 3300 5 0 0 0 0
5 5 0 0.9072394 49 1 …
Run Code Online (Sandbox Code Playgroud) 我需要通过bash shell运行几个脚本,Rscript
并且我使用的一些函数需要该函数isGeneric
.但是,在这种情况下,流程就像那样(例如):
Error in .getLogLik() : could not
find function "isGeneric"
Calls: main -> dredge -> .getLik -> .getLogLik
Execution halted
Run Code Online (Sandbox Code Playgroud)
这可以如下再现
# in the bash shell
echo "isGeneric('apply')" > /tmp/test.R
Rscript /tmp/test.R
Run Code Online (Sandbox Code Playgroud)
结果:
Error: could not find function "isGeneric"
Execution halted
Run Code Online (Sandbox Code Playgroud)
但是,如果我们打开一个R会话并键入以下内容,它的工作原理如下:
# in the R shell
isGeneric('apply')
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
你知道问题的来源以及如何解决吗?
我正在使用R脚本进行一些统计计算。当我使用交互式终端时,此代码可以正常工作:
# Load libraries to read ods tables, calcs alpha and pearson
print("Loading libraries...")
library(readODS)
# library(arules)
# library(arulesViz);
print("Done!")
# Read table ods
print("Calc results...")
table_votes = read_ods("table.ods", col_names = TRUE)
# Remove columns from dataframe where ALL values are NA
table_votes <- table_votes[,colSums(is.na(table_votes))<nrow(table_votes)]
matrix_votes <- as.matrix(table_votes)
matrix_votes[!is.finite(matrix_votes)] <- 0
transactions <- as(matrix_votes, 'transactions')
apriori(transactions)
Run Code Online (Sandbox Code Playgroud)
但是,当我将此代码传递给文件以与Rscript一起运行时,我的as()函数存在问题:
“错误:找不到函数'as'”
我使用R -r my_file.R ...解决了这个问题,但是为什么Rscript无法使用?