为什么 Rscript 不适用于函数 as()?
Why Rscript doesn't work with function as()?
我正在使用 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)
但是,当我使用 Rscript 将此代码传递给文件 运行 时,函数 as():
出现问题
"Error: Could not find function 'as'"
我使用 R -r my_file.R 解决了这个问题...
但是,为什么不能与 Rscript 一起使用?
as
函数属于 methods
包。 Rscript 不加载 methods
包以节省启动时间(请参阅 Rscript help(Rscript)
的帮助)。您必须告诉 Rscript 加载包。
我正在使用 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)
但是,当我使用 Rscript 将此代码传递给文件 运行 时,函数 as():
出现问题"Error: Could not find function 'as'"
我使用 R -r my_file.R 解决了这个问题... 但是,为什么不能与 Rscript 一起使用?
as
函数属于 methods
包。 Rscript 不加载 methods
包以节省启动时间(请参阅 Rscript help(Rscript)
的帮助)。您必须告诉 Rscript 加载包。