有什么办法可以打电话.R 中的 NET 字符串库

本文关键字:中的 NET 字符串 打电话 什么 | 更新日期: 2023-09-27 17:57:21

我对 C# .NET 非常熟悉,我想从 .NET的System.Text库,如.PadLeft()string.Format等。

有谁知道这是可能的吗?

有什么办法可以打电话.R 中的 NET 字符串库

目前,正如其他人所提到的,从R调用.NET代码并不容易。 使用 rcom 包可能是可行的,但 R 程序员和 C# 程序员的交集非常小,因此很少有人尝试过。

如果您愿意调整您的技术堆栈,有一些选择。

  • MATLAB 具有出色的 .NET 集成,可以完成 R 可以做的大多数事情。

  • R通过rJava包有很好的Java集成。

如果您对纯R解决方案感到满意,那么stringr包使字符串处理变得非常轻松。 stringr::str_pad与 C# 的 string.PadLeft 方法相同。 sprintfformatformatC和基数 R 的prettyNum提供了多种格式化数字的方法。 scales包还具有多种格式化功能。

我知道

这篇文章已经存在了一段时间,但由于在 StackOverflow 上搜索答案是一件持续的事情,我想我会选择另一个选择。

rClr 软件包可从 https://r2clr.codeplex.com/获得,即将迁移到 https://rclr.codeplex.com/。可以调用任意 .NET 代码,包括字符串操作:

library(rClr)
clrCallStatic('System.String', 'Format', 'Hello, the number is {0}', 42L)
## [1] "Hello, the number is 42"

但是,由于字符串及其数组有意透明地转换为 R 字符向量,因此不容易获得诸如 PadLeft 之类的实例方法。具有静态方法的帮助程序类可以解决问题。如果有兴趣,我会考虑在包中添加用于 .NET 字符串操作的工具。

R和.NET没有任何关系。这意味着这并不容易实现。

您应该简单地学习在 R 中使用的正确方法。