楼主: smile108
15112 10

[问答] 如何打开r软件中的rdb文件 [推广有奖]

  • 1关注
  • 5粉丝

讲师

33%

还不是VIP/贵宾

-

威望
0
论坛币
6252 个
通用积分
29.0063
学术水平
6 点
热心指数
10 点
信用等级
7 点
经验
37302 点
帖子
375
精华
0
在线时间
532 小时
注册时间
2011-7-8
最后登录
2022-3-31

20论坛币
我想查看R中默认安装的stats包中的一些函数,在官网无法下载该包,而安装的却是RDB数据库文件,常规无法打开。特此请教各位坛友,如何打开R中的RDB文件。比如stats包中有一个关于符号秩和分布psignrank函数,如何打开它的具体代码呢?而不是通过help后查看它的使用说明,非常感谢!
      问题解决后,论坛币可以具体商量,再次感谢!!!

最佳答案

jiangbeilu 查看完整内容

楼主你要找的包,在下面。 stats包里的函数在R这个文件里面。 psignrank在nmath文件里,这个可以找到的。因为R调用的是C的函数。
关键词:rdb r软件 signrank stats 数据库文件 数据库文件 如何 软件
沙发
jiangbeilu 学生认证  发表于 2014-12-4 23:23:58 |只看作者 |坛友微信交流群
楼主你要找的包,在下面。
stats包里的函数在R这个文件里面。
psignrank在nmath文件里,这个可以找到的。因为R调用的是C的函数。

nmath.rar

225.77 KB

需要: 1 个论坛币  [购买]

stats.rar

1.48 MB

需要: 1 个论坛币  [购买]

Tomorrow is another day!

使用道具

藤椅
jiangbeilu 学生认证  发表于 2014-12-5 11:00:01 |只看作者 |坛友微信交流群
太烦躁了,上传文件上传不上去,这里我就直接帖出代码了。
因为这个函数是在R里面运行的,但是是调用的C函数,所以给出的是C的代码。不知道楼主是否明白。
  1. double psignrank(double x, double n, int lower_tail, int log_p)
  2. {
  3.     int i;
  4.     double f, p;

  5. #ifdef IEEE_754
  6.     if (ISNAN(x) || ISNAN(n))
  7.     return(x + n);
  8. #endif
  9.     if (!R_FINITE(n)) ML_ERR_return_NAN;
  10.     n = R_forceint(n);
  11.     if (n <= 0) ML_ERR_return_NAN;

  12.     x = R_forceint(x + 1e-7);
  13.     if (x < 0.0)
  14.         return(R_DT_0);
  15.     if (x >= n * (n + 1) / 2)
  16.         return(R_DT_1);

  17.     int nn = (int) n;
  18.     w_init_maybe(nn);
  19.     f = exp(- n * M_LN2);
  20.     p = 0;
  21.     if (x <= (n * (n + 1) / 4)) {
  22.         for (i = 0; i <= x; i++)
  23.             p += csignrank(i, nn) * f;
  24.     }
  25.     else {
  26.         x = n * (n + 1) / 2 - x;
  27.         for (i = 0; i < x; i++)
  28.             p += csignrank(i, nn) * f;
  29.         lower_tail = !lower_tail; /* p = 1 - p; */
  30.     }

  31.     return(R_DT_val(p));
  32. } /* psignrank() */
复制代码
已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
李会超 + 60 + 20 + 2 + 2 热心帮助其他会员

总评分: 经验 + 60  论坛币 + 20  学术水平 + 2  热心指数 + 2   查看全部评分

使用道具

板凳
smile108 发表于 2014-12-5 20:30:29 |只看作者 |坛友微信交流群
jiangbeilu 发表于 2014-12-5 12:30
楼主你要找的包,在下面。
stats包里的函数在R这个文件里面。
psignrank在nmath文件里,这个可以找到的。 ...
请问楼主,你这个stats包的R文件夹里面怎么会有这么多了函数文件,而我的却是只有一个Stats.RDB格式的文件?非常感谢

使用道具

报纸
smile108 发表于 2014-12-5 20:41:23 |只看作者 |坛友微信交流群
jiangbeilu 发表于 2014-12-5 11:00
太烦躁了,上传文件上传不上去,这里我就直接帖出代码了。
因为这个函数是在R里面运行的,但是是调用的C函 ...
请问楼主,你这个代码是在哪里找到的?为什么我找不到这个呢?我刚装了个C语言编译器

使用道具

地板
jiangbeilu 学生认证  发表于 2014-12-5 23:04:41 |只看作者 |坛友微信交流群
smile108 发表于 2014-12-5 20:30
请问楼主,你这个stats包的R文件夹里面怎么会有这么多了函数文件,而我的却是只有一个Stats.RDB格式的文件 ...
在R的安装文件里找的。psignrank在nmath里,signrank.c文件里。

使用道具

7
jiangbeilu 学生认证  发表于 2014-12-5 23:05:38 |只看作者 |坛友微信交流群
smile108 发表于 2014-12-5 20:30
请问楼主,你这个stats包的R文件夹里面怎么会有这么多了函数文件,而我的却是只有一个Stats.RDB格式的文件 ...
在R的安装文件里找的。psignrank在nmath里,signrank.c文件里。

使用道具

8
smile108 发表于 2014-12-7 11:41:53 |只看作者 |坛友微信交流群
jiangbeilu 你好,这是我的R安装文件,里面只有这个stats的RDB文件,通过在R界面输入psignrank,它显示是stats中的函数,如下:
> psignrank
function (q, n, lower.tail = TRUE, log.p = FALSE)
{
    on.exit(.External(C_signrank_free))
    .External(C_psignrank, q, n, lower.tail, log.p)
}
<bytecode: 0x0000000008edbc18>
<environment: namespace:stats>>
不好意思,又麻烦你了

XO5[Q`2E65BD1CZ_K80O0G1.png (12.41 KB)

XO5[Q`2E65BD1CZ_K80O0G1.png

使用道具

9
jiangbeilu 学生认证  发表于 2014-12-7 12:51:57 |只看作者 |坛友微信交流群
你想问什么问题?

使用道具

10
smile108 发表于 2014-12-7 14:47:50 |只看作者 |坛友微信交流群
jiangbeilu 发表于 2014-12-7 12:51
你想问什么问题?
为什么我的安装文件中没有找到你所说的那些文件呢?首先是没有你说的nmath包,psignrank函数显示是在stats包里面的,而我的stats包里面只有一个stats.RDB文件,如上图。而你传上来的stats包里面有好多基础函数……我的怎么木有,请问可以告诉我你的具体路径吗

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-17 11:40