1

我对 C# .NET 很熟悉,我想从 .NET 的System.Text库中调用函数,例如.PadLeft(),string.Format等。

有谁知道这是可能的吗?

4

3 回答 3

4

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

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

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

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

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

于 2013-02-04T14:17:43.200 回答
4

我知道这篇文章已经存在了一段时间,但由于在 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 字符串操作的工具。

于 2013-10-10T10:59:34.690 回答
1

R 和 .NET 没有任何关系。这意味着这是不容易的。

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

于 2013-02-04T12:42:29.133 回答