有什么办法可以打电话.R 中的 NET 字符串库
本文关键字:中的 NET 字符串 打电话 什么 | 更新日期: 2023-09-27 17:57:21
我对 C# .NET 非常熟悉,我想从 .NET的System.Text
库,如.PadLeft()
、string.Format
等。
有谁知道这是可能的吗?
目前,正如其他人所提到的,从R调用.NET代码并不容易。 使用 rcom
包可能是可行的,但 R 程序员和 C# 程序员的交集非常小,因此很少有人尝试过。
如果您愿意调整您的技术堆栈,有一些选择。
-
MATLAB 具有出色的 .NET 集成,可以完成 R 可以做的大多数事情。
-
R通过
rJava
包有很好的Java集成。
如果您对纯R解决方案感到满意,那么stringr
包使字符串处理变得非常轻松。 stringr::str_pad
与 C# 的 string.PadLeft
方法相同。 sprintf
、format
、formatC
和基数 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 中使用的正确方法。