Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用if环境编写R函数

用if环境编写R函数
EN

Stack Overflow用户
提问于 2013-11-19 01:24:18
回答 1查看 2.2K关注 0票数 1

根据第二个参数,我试图编写一个做不同事情的函数。但我一直都在犯错误。根据矩阵的维数,函数应该执行不同的任务。下面是一个例子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x<-cbind(X1,X2,X3)

function<-function(x,hnrstr){
  if (hnrstr<-1){ 
    x<-data.frame(X1=x[1],X2=x[2],X3=x[3])
    y<-x 
    y[ ,"X2","X3"]<- gsub(" {2, }"," ",y[ ,"X2","X3"])       
  }

  if (hnrstr<-2){ 
    x<-data.frame(X1=x[1],X2=x[2])
    P<-x 
  }  
  if (hnrstr<-1){
    x<-y
  }
  if (hnrstr<-2){
    x<-P  
  }
  return(x)
}

apply(x,c(3,3), function(x,1))

我发现了一个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Error in drop && !has.j : invalid 'x' type in 'x && y'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 02:18:34

hnrstr<-1将1的值赋值给hnrstr。您不希望在if语句中出现这种情况。您的意思是“测试hnrstr小于-1”,在这种情况下添加一些空格。hnrstr < -1,或者您的意思是“测试hnrstr等于1”,在这种情况下,使用double等于,hnsstr == 1

如果X1X2X3是向量,那么x就是一个矩阵。也就是说,它有两个维度。这意味着,在您分配了y <- x (为什么需要这样做?)之后,y[ ,"X2","X3"])没有多大意义,因为它意味着存在三个维度,而不是两个维度。这就是导致错误的原因。你是说y[, c("X2","X3")])

gsub接受一个向量,所以在更改了前面的代码之后,还需要更改对该函数的调用。您想把它传递给第二列还是第三列,还是两者都传递(一个接一个)?

如果第二个街区看上去毫无意义。想一想你怎么能把它们移除。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (hnrstr<-1){
x<-y
}
if (hnrstr<-2){
x<-P  
}

在函数的末尾不需要一个return语句。R自动返回函数中计算的最后一个值。

正如科林所说,不要试图把你的函数称为“函数”。那只是自找麻烦。换行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function <- function(x,hnrstr){
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20067628

复制
相关文章
R语言入门之编写自定义函数
R语言的一大优势就是用户可以编写自己的函数,而且这种函数可以是基于其它函数之上的,这为分析提供了更大的灵活性和更广的空间。有了上面关于控制结构的基础知识,我们现在就可以编写自己的函数了。下面是R语言函数的语法结构:
生信与临床
2020/08/06
1.2K0
【编写环境一】遇到常见python函数处理方式
*Dict()**可用字典(dictionary)的形式储存空间特征,因此可以描述更多特性并用于构建更为复杂的空间
汀丶人工智能
2022/12/21
4680
Oracle 函数编写[通俗易懂]
因为之前都是用mysql的,项目用oracle,第一次用oracle写function,还行踩了不少小坑。
全栈程序员站长
2022/09/09
4250
R」R 的函数
函数,其实就是一个黑箱子,一个封闭的计算结构体,对于用户来说,只需要关注输入和输出。函数在所有的编程语言中都有实现,主要的目的是方便进行模块化编程,代码维护等。
王诗翔呀
2020/07/03
1.3K0
R tips: ggplot图层编写
在实际使用中,ggplot中使用的图层是以geom或者stat开头的函数创建的,但是如果查看一下这些图层函数的具体内容可以发现他们都是在封装一个layer函数。
生信菜鸟团
2023/09/08
3100
R tips: ggplot图层编写
R函数
函数是一组一起执行一个任务的语句。R 语言本身提供了很多的内置函数,当然我们也可以自己创建函数。
生信交流平台
2020/09/29
6730
R环境安装
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。简单来说,R是一门统计计算语言,是一套开源的数据分析解决方案。
润森
2019/11/24
1.7K0
oracle 函数 如何编写
创建函数的基本格式 create or replace function 函数名称(参数1 ,参数2) return 参数类型 is
全栈程序员站长
2022/09/09
4710
编写求阶乘函数
学编程的小程
2023/10/11
1730
「R」R的符号和环境
R中的每一个符号(symbol)都是定义在一个具体的环境中的。环境(environment)就是一个R对象(R中一切皆对象),其中包含给定上下文中的符号集合、与这些符号相关的对象,以及一个指向父环境的指针。
王诗翔呀
2020/07/06
1.2K0
「R」R的符号和环境
统一博客编写环境
日常会在 macOS 和 Ubuntu 之间切换,博客是基于 Hexo 生成的,不同系统的 Node 版本会有较大差异、环境稳定性比较差,为了方便平时写博客,想到了用 Docker 统一博客生成环境,于是自己写了 Dockerfile,在结合VS Code 编写,可以做到系统无差。
知一
2022/02/14
1960
统一博客编写环境
编写你自己的R包
这一步骤先检查上一步书写语法是否有误以及是否有遗漏等其他错,之后将注释信息和函数转换为Rmd文档。
用户7741497
2022/03/21
5030
R语言函数
用户10803254
2023/10/23
2450
用python编写maya插件
在Eclipse中安装pydev环境,pydev更新地址为:  http://pydev.org/updates
py3study
2020/01/03
1.8K0
用xml来编写动画
我们可以使用代码来编写所有的动画功能,这也是最常用的一种做法。不过,过去的补间动画除了使用代码编写之外也是可以使用XML编写的,因此属性动画也提供了这一功能,即通过XML来完成和代码一样的属性动画功能。 通过XML来编写动画可能会比通过代码来编写动画要慢一些,但是在重用方面将会变得非常轻松,比如某个将通用的动画编写到XML里面,我们就可以在各个界面当中轻松去重用它。 如果想要使用XML来编写动画,首先要在res目录下面新建一个animator文件夹,所有属性动画的XML文件都应该存放在这个文件夹当中。
xiangzhihong
2018/02/01
8950
Learn R 函数和R包
函数与参数 形式参数与实际参数 形式参数99%可以删除 图片 命名新的函数 > jimmy <- function(a,b,m = 2){ + (a+b)^m + }。#命名jimmy这个函数,自己设置 m=2是默认值 > jimmy(a = 1,b = 2) [1] 9 > jimmy(1,2) #省略写法 [1] 9 > jimmy(3,6) [1] 81 > jimmy(3,6,-2) #更改m的值 有2改为-2 [1] 0.01234568 图片 复习:绘图函数plot() par(mfrow
用户10412487
2023/03/28
1.4K0
用PHP编写Nagios插件
Nagios插件是Nagios提供的一种可通过扩展方式部署的组件,该插件支持Java、C\C++、php等多种语言开发,操作员通过修改配置文件和相应参数,就能很方便地将该插件集成到Nagios中,实现对目标系统的监控。
星哥玩云
2022/06/30
1.4K0
【R语言入门】R语言环境搭建
R 语言是一个功能十分强大的工具,几乎绝大多数的数据分析工作都可以在 R 中完成,并且拥有很极强的绘图功能支持,能让你手中的数据以各种姿势进行可视化呈现,而且支持 Windows、Mac OS、Linux 系统,而且使用起来也比较简单方便。
弗兰克的猫
2020/12/01
2.4K0
【R语言入门】R语言环境搭建
MATLAB --函数编写与调用
之前写code都是将所有的实现放在同一个.m文件,导致程序很混乱冗长,过了几天容易忘记,不便于后期修改维护,于是开始学习将程序封装。即将程序封装成函数,再调用,就比较清晰。
FPGA开源工作室
2021/04/22
1.5K0
MATLAB --函数编写与调用
R语言环境搭建
R 语言已经广泛的应用与生物信息分析中,包括 RNAseq,单细胞,生物统计,绘图等都要用到 R 语言。R 语言是生物信息分析平台重要的组成部分。本章节中我们将在服务器中配置完整的 R 语言分析环境。
生信喵实验柴
2022/10/25
1.1K0

相似问题

用R编写函数

117

用R编写向量函数

415

用R编写循环函数

15

用R编写参数函数

14

如何在Windows环境下用R编写Unix

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文