RI で Excel ファイルを操作するには、openxlsx パッケージを使用します。R内からそのようなファイルに書き込む場合と同様に、xlsxファイルをRに読み込む場合にも問題なく動作します。今日まで。私のスクリプトの1つに、次のコードがあります。
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, sheetName = prog, tabColour = "limegreen")
#define styles
style.1 <- createStyle(fg = "#90EE90") #color even rows
style.2 <- createStyle(fg = "#DAF3EA") #color odd rows
style.1 <- createStyle(fg = "#90EE90")
出力に使用するスタイルを定義します。今日から、この行は createStyle を使用する他の行と同様にエラーになります。エラーメッセージは次のとおりです。
(関数 (env, objName) のエラー: 'findVar' への引数は環境ではありません。
これは、R と Rstudio を最新バージョンに更新することによって引き起こされる可能性がありますか? さらに重要なこと: このエラーについて何ができますか?
Session info:
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.1
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions. /A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources /lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] bindrcpp_0.2 dplyr_0.7.4 data.table_1.10.4-3 openxlsx_4.0.17
loaded via a namespace (and not attached):
[1] compiler_3.4.3 magrittr_1.5 assertthat_0.2.0 R6_2.2.2 tools_3.4.3
[6] glue_1.2.0 tibble_1.3.4 yaml_2.1.15 Rcpp_0.12.14 pkgconfig_2.0.1
[11] rlang_0.1.4 bindr_0.1
トレースバックにより、以下の結果が得られます。
trace(back)
1: (function (env, objName)
{
obj <- get(objName, env)
hasNullPtr <- .Call("rs_hasExternalPointer", obj, TRUE)
if (hasNullPtr) {
val <- "<Object with null pointer>"
desc <- "An R object containing a null external pointer"
size <- 0
len <- 0
}
else {
val <- "(unknown)"
desc <- ""
size <- object.size(obj)
len <- length(obj)
}
class <- .rs.getSingleClass(obj)
contents <- list()
contents_deferred <- FALSE
if (is.language(obj) || is.symbol(obj)) {
val <- deparse(obj)
}
else if (!hasNullPtr) {
if (size > 524288) {
len_desc <- if (len > 1)
paste(len, " elements, ", sep = "")
else ""
if (is.data.frame(obj)) {
val <- "NO_VALUE"
desc <- .rs.valueDescription(obj)
}
else {
val <- paste("Large ", class, " (", len_desc,
capture.output(print(size, units = "auto")),
")", sep = "")
}
contents_deferred <- TRUE
}
else {
val <- .rs.valueAsString(obj)
desc <- .rs.valueDescription(obj)
if (class == "data.table" || class == "ore.frame" ||
class == "cast_df" || class == "xts" || class ==
"DataFrame" || is.list(obj) || is.data.frame(obj) ||
isS4(obj)) {
contents <- .rs.valueContents(obj)
}
}
}
list(name = .rs.scalar(objName), type = .rs.scalar(class),
clazz = c(class(obj), typeof(obj)), is_data = .rs.scalar(is.data.frame(obj)),
value = .rs.scalar(val), description = .rs.scalar(desc),
size = .rs.scalar(size), length = .rs.scalar(len), contents = contents,
contents_deferred = .rs.scalar(contents_deferred))
})(<environment>, "style.1")