【发布时间】:2012-10-14 14:12:57
【问题描述】:
我对 C 的经验很少,但有人要求我将 C 程序转换为 R。有一点让我感到不安:
我有一个接受 int 的函数
int a
在函数中我有一个数组:
double b[3] = {
1.8293,
-0.592,
2.3330,
}
后来在我拥有的功能中:
c = b[a];
谁能告诉我这条线在做什么?分配给 c 的是什么?它只是一个大小为 b 的数组,其中 b 的所有值都乘以 a 吗?
谢谢。
【问题讨论】:
-
你需要学习C。
-
从答案看来,该行在 C 中的作用与在 R 中的相同。您只需要注意索引在 R 中从 1 开始,而不是从 0 开始。
-
顺便说一句,为什么要从 C 转换为 R?通常这是以相反的方式完成以提高性能。您可以从 R 调用 C 函数。
-
是的,我现在确实觉得有点傻。关于从 C 转换为 R - 我的老板希望在 R 中完成,因为他只能使用 R。
-
了解 R 中的
.C函数,这样您就可以在 R 中为您的 C 代码编写一个包装器,然后您的老板可以从 R 中运行它,您无需翻译所有内容(而且它可能会更快)。