楼主: drosophilia
6263 6

[求助]R一般用什么写程序? [推广有奖]

  • 0关注
  • 0粉丝

大专生

16%

还不是VIP/贵宾

-

威望
0
论坛币
51 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
345 点
帖子
32
精华
0
在线时间
0 小时
注册时间
2008-6-14
最后登录
2014-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
 
R一般用什么写程序? 需要去下载winedit 或 vi 编辑器吗? 我看R自带的也有一个编辑器?它能用把?另外写好的代码一般存放在什么目录?应该放在工作目录把,跟matlab一样,是么?

另外就是它需要象matlab一样,要函数名什么的吗?保存的格式一定要是R文件吗?(类似于matlab的m文件)还有就是在控制台怎么运行,matlab是写上函数名就可以了,它了?
希望高手跟matlab做个类比,给个简单的例子。本人刚接触R
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Edit 工作目录 程序

回帖推荐

just31415 发表于2楼  查看完整内容

 Tinn-R  感觉不错.R自带的不好用.至于文件保存,工作目录的设定感觉和Matlab的大同小异但在R中函数的调用运行同Matlab有差异.在R中,R调用函数时只搜索已调用在内存中的相关函数,这就是说,即便已经存在目标函数,但没有调用到内存中,在控制台输入函数名也不会运行;Matlab与此不同,只要在set path选项卡中search path包含相应的函数所在目录,那么无论是否调用内存,该函数总是能调用运行的. [此贴子已经被作者于2008-6-15 1 ...

just31415 发表于4楼  查看完整内容

我想到的就这些,不知说道要点了么.R大多自习的,多看文档,论坛好多R的文档的.这是R一本教程中编写的一个函数,命名为 bisect.R并存放在C:\R\work,可以通过菜单操作调用程序.但这里说命令操作:setwd("c:\\R\\work") #工作目录设定为C:\R\worksource("bisext.R") #将函数调用内存,否则在控制台直接输入会提示错误fzero("x^3-x-1",1,2) #可以使用该函数了 #R中一个二分法求非线性方程根的函数fzero<-function(f, a, b, eps=1e-5) ...

本帖被以下文库推荐

沙发
just31415 发表于 2008-6-15 12:01:00 |只看作者 |坛友微信交流群

 Tinn-R  感觉不错.

R自带的不好用.

至于文件保存,工作目录的设定感觉和Matlab的大同小异

但在R中函数的调用运行同Matlab有差异.

在R中,R调用函数时只搜索已调用在内存中的相关函数,这就是说,即便已经存在目标函数,但没有调用到内存中,在控制台输入函数名也不会运行;

Matlab与此不同,只要在set path选项卡中search path包含相应的函数所在目录,那么无论是否调用内存,该函数总是能调用运行的.

[此贴子已经被作者于2008-6-15 12:04:48编辑过]

https://app.yinxiang.com/referral/Registration.action?sig=2d

使用道具

藤椅
drosophilia 发表于 2008-6-15 16:03:00 |只看作者 |坛友微信交流群

2楼的你好,你这个地方说的调用到内存我没太弄明白,我想平常我们想用的函数应该已经调用到内存,不然我们就用不了,但是我们自己写的了?例如一段小程序,它怎么调用到内存,然后在控制台上使用?  另外,我也想知道这个小程序应该是什么格式,跟matlab对比说一下更好!谢谢

使用道具

板凳
just31415 发表于 2008-6-15 23:54:00 |只看作者 |坛友微信交流群

我想到的就这些,不知说道要点了么.R大多自习的,多看文档,论坛好多R的文档的.

这是R一本教程中编写的一个函数,命名为 bisect.R并存放在C:\R\work,

可以通过菜单操作调用程序.但这里说命令操作:

setwd("c:\\R\\work") #工作目录设定为C:\R\work

source("bisext.R") #将函数调用内存,否则在控制台直接输入会提示错误

fzero("x^3-x-1",1,2) #可以使用该函数了 

#R中一个二分法求非线性方程根的函数

fzero<-function(f, a, b, eps=1e-5){
   if (f(a)*f(b)>0)
      list(fail="finding root is fail!")
   else{
      repeat {
         if (abs(b-a)<eps) break;
         x<-(a+b)/2;
         if (f(a)*f(x)<0) b<-x  else  a<-x
      }
      list(root=(a+b)/2, fun=f(x))
   }
}

%%作为对比,这是Matlab的二分法. 3年前的东西了,还好没删.

%%它命名为nabisect.m,位于c:matlab\work 中,work文件夹在 set path选项卡search path的搜索路径

%只要输入nabisect(fname,a,b,e)就可以运行,Matlab会在搜索路径搜索该函数,并自动加入内存.

%但 R需要用source(){或者通过菜单或者在控制台直接输入函数}来调入内存.

function x=nabisect(fname,a,b,e)
%Using: 二分法解非线性方程
%Fomart:x=nabisect(fname,a,b,e) fname为函数句柄或
%内嵌函数 表达式为f(x)  a,b为区间端点,e为精度(默认
%为1e-4) x为返回值,程序要求函数在两端点值必须异号
%,中间变量fa fb fx的引用可以最大限度减少fname调用次数
% 例子:fun=inline('x^3-3*x-1');
%      x=nabisect(fun,1,2,0.05)
if nargin<4,e=1e-4;end;
    fa=feval(fname,a);fb=feval(fname,b);
if fa*fb>0,error('函数在两端点值必须异号');end
    x=(a+b)/2;m=0;
    while (b-a)>(2*e),
        fx=feval(fname,x);m=m+1;
        if fa*fx<0,
            b=x;fb=fx;
        else a=x;fa=fx;
        end
        x=(a+b)/2;
    end

P.S.

filename.R 和 file.m 文件格式都可以用记事本打开,这表明.R和.m的文件同.txt文件仅仅扩展名不同.

已有 1 人评分论坛币 学术水平 收起 理由
crystal8832 + 10 + 1 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 1   查看全部评分

https://app.yinxiang.com/referral/Registration.action?sig=2d

使用道具

报纸
drosophilia 发表于 2008-6-18 21:56:00 |只看作者 |坛友微信交流群

学习了,受益匪浅了,谢谢

使用道具

地板
bin 发表于 2008-6-21 10:43:00 |只看作者 |坛友微信交流群

xiexie,收益菲浅!!!!:)

使用道具

7
tedzzx 发表于 2008-6-28 11:36:00 |只看作者 |坛友微信交流群

其实用JGR挺好用的,感觉比tinn-r 好用。搂主可以下载来看看。

使用道具

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

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

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

GMT+8, 2024-5-22 00:13