问题标签 [r-xlsx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
861 浏览

r - 导入带有以数字结尾的重复列的 excel (r xlsx)

我有一个 xlsx 文件,其中包含 4 列:

(我知道这很愚蠢......这是因为我正在组合来自 2 个不同数据库的数据,并且12表示调查 1 和调查 2 之间的差异,并选择转储到 xlsx 文件中。

当我使用 xlsx 包将其导入 R 时,它会将列标题更改为:

显然,我在现实世界中的示例要复杂得多,因此很难确定什么是什么。我想要类似的东西:

现在,我可以通过在 excel 中打开文件并更改其中的列来解决这个问题......这样我就可以解决我眼前的问题,但我讨厌破坏我的工作流程......有没有办法以更好的方式导入这些数据进入R本身?

0 投票
0 回答
55 浏览

r - 替换数据框单元格 R 中的特定值

我有一个很大的 xlsx 文件;我对 2 列感兴趣:pat_idparam_1.

原始文件看起来像这样(我用点替换值只是为了打字更快):

我有一个较小的文件:

我想用param1较小文件中的值替换原始文件中的值。像这样:

到目前为止:1)我将两个文件读入数据帧。2)然后我尝试找到 pat_id == 123 的行,并访问列“param1”并分配一个新值(55)。

但是,我遇到了许多错误。

我的上一个版本:

给出一个错误:

出于某种原因,当data[data == 123, 'param1']返回NA...

我试图探索加入/合并替代方案,但没有找到合适的解决方案。

基本上我只想说“在数据 pat_id == 123 中,将其 param_1 值替换为 55”。

0 投票
1 回答
2287 浏览

r - 使用 R xlsx 包有效地格式化整个 Excel 工作簿

Stack Overflow 上的新手,所以请多多包涵 - 任何帮助或建议都将不胜感激!

我正在尝试将单个单元格样式应用于我使用 R 中的 write.xlsx 函数创建的整个 Excel 工作簿。我在网上查看过,我能想到的最好的方法是以下方法。

然后将此函数应用于我之前生成的每个 xlsx 文件。

但是,这似乎在计算上非常昂贵,因为我相信它会循环每一行中的每个单元格,以及工作簿的每一页。这需要一些时间来运行一些较大的 Excel 电子表格,甚至一些中等大小的 (<1MB)。

有没有一种计算成本较低的方法来实现这一点?说等效于适用于整个工作表的 CellStyle?

提前致谢 - 任何意见/建议表示赞赏!

问候, Alch84

0 投票
1 回答
1720 浏览

r - 将 R 数据帧写入 excel 文件时,时间戳会根据 UTC 偏移量发生变化

我正在尝试将数据框写入 excel 文件。示例数据框如下所示。由于时间戳属于 class factor,我POSIXct使用 lubridate 包将其转换为格式。

当我尝试使用命令将数据帧写入 excel 文件时write.xlsx,我得到一个时间戳与原始时间戳不同的输出。 R数据框和excel输出

可以观察到时间偏移了两个小时。我住在属于时区 UTC+02:00 的地区。这可能是影响变化的因素吗?如果是这样,有没有办法防止excel根据UTC偏移量更改时间信息?

0 投票
0 回答
883 浏览

r - xlsx:向工作表添加大量行时出错 - “行号无效”

我正在使用 xlsx::addDataFrame 将 450,000 行的 data.frame 写入工作表并得到“无效的行号”错误。谁能告诉我如何解决它?还是有办法绕过这个困难?任何命令表示赞赏。非常感谢。

addDataFrame(x,col.names=TRUE, row.names=FALSE, startRow=5, + startColumn=1, sheet=sheet2) .jcall("RJavaTools", "Ljava/lang/Object;", "newInstance" 中的错误, .jfindClass(class), : java.lang.IllegalArgumentException: 无效行号 (65536) 超出允许范围 (0..65535)

0 投票
1 回答
1265 浏览

r - XLConnect:连接到 64 位 R

我需要将一些 R 数据导出到格式化的 excel 文件,并且之前已经成功使用了 R 中的 XLConnect 和 xlsx 包。我最近搬到了 64 位 R 并且无法工作。我在一堆其他包中处理了一些 Oracle/Java 架构冲突。我确信这里发生了类似的事情,但我无法破解它。

当我打电话时library(XLConnect)rJava附上XLConnectJars没有问题。

这是错误和会话信息:

当我尝试附加xlsx.

如果我切换到 32 位 R,一切都运行XLConnect良好xlsx。我真的需要运行 64 位 R 来满足其他要求。

0 投票
0 回答
229 浏览

r - 使用R创建Excel文档时如何在Excel锁定时启用排序和过滤?

我正在尝试使用 R 中的 XLSX 包创建 Excel 电子表格。我需要保护工作表的某些部分,但仍然能够对主要部分进行排序或过滤。

要在excel中做到这一点,您必须首先将主要部分的单元格设置为解锁,然后启用排序和自动过滤,最后保护工作表。

但在 XLSX 包中,似乎没有启用排序或自动过滤的功能,甚至没有简单地保护工作表。我将问题追溯到 rjave,然后是 Apache POI。

XSSFSheet 类中,我可以在那里找到 lockSort、lockAutoFilter 和protectSheet 方法。感谢stackoverflow,我发现

可以保护片材。

但我无法启用 Sort 或 autofilter 。

我试过了:

两者都不起作用。

0 投票
0 回答
615 浏览

r - Write.xlsx:将输出转换为数字

请参阅write.xlsx(a, OutFile, row.names = F)下面脚本的末尾。不是将数值数据输出到 Excel 文件,而是将数据作为文本存储在 Excel 输出中。将输出转换为数字的最无缝方式是什么?

0 投票
1 回答
2961 浏览

r - 使用 xlsx 的 GC 开销错误

我正在尝试使用该xlsx库读取 R 中的 xlsx 文件。下面是我的一段代码。

它抛出以下错误

.jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, 中的错误: java.lang.OutOfMemoryError: 超过 GC 开销限制

我尝试了不同的方法来增加java堆内存,但没有成功。我在 ubuntu 使用 java8。文件大小仅为 4MB。我在不同论坛上的类似问题上遵循了不同的说明,但未能成功。

任何建议将不胜感激。

0 投票
1 回答
1453 浏览

r - 我正在尝试在 Rstudio 中安装 xlsx 包,但出现错误

尝试在 Ubuntu 14.04 LTS 操作系统类型(64 位)上的 Rstudio 中安装 xlsx 包,但在安装时出现错误。请指导我如何解决这些错误,因为我正在尝试创建一个脚本,我可以在其中读取 Excel 文件通勤列数据的一些统计信息