• R语言
  • 求助用什么命令可以利用R语言编辑一个新的分布函数

我想新定义一个分段的分布函数,不知道用什么命令可以直接定义分布函数,另外也想请教如何生成正整数序列,就是自然数序列。谢谢。

  1. 直接定义函数就好
  2. 直接x <- 1:100定义正整数序列就好

下面举例分段函数
f(x)={log(x)x>01x<=0f(x)=\begin{cases}log(x)& {x>0}\\-1& {x<=0}\end{cases}

pdf <- function(x){
  y=ifelse(x > 0, log(x),-1)
  return(y)
}

x <- -10:10
y <- pdf(x)
df <- data.frame(x,y)

library(ggplot2)

df %>%
  ggplot(aes(x,y))+
  geom_line()+
  geom_point()

    tctcab
    非常非常感谢您,另外还想请教一下,如何可以查看R语言中已经定义好的源程序呢?比如说我想找到定义几何分布的源程序,请问怎么办可以获得呢?再次致谢。

      sdlzxinac
      这个没办法,因为R的几何分布函数pgeom()其实底层调用的是编译过的C的函数,在R里的源代码如下,R命令行里输入pgeom即可看到:

      function (q, prob, lower.tail = TRUE, log.p = FALSE) 
      .Call(C_pgeom, q, prob, lower.tail, log.p)
      <bytecode: 0x738db58>
      <environment: namespace:stats>

      不过你可以看该函数的帮助啊,help("pgeom")

        sdlzxinac
        打扰了,再次请教您:
        df %>%
        ggplot(aes(x,y))+
        geom_line()+
        geom_point()
        这里面的“df %>% ”是什么意思呢?
        辛苦您。

          sdlzxinac

          help("%>%",package = "magrittr")

          如果你是真心想解决问题,而且真心尊重其他人宝贵的时间而非停留在口头的客套话上的话,为什么不坐下来在网上搜索一下,为什么不花几个小时,找几个R的入门教程过一遍。

          最初的问题我已经回答了并且附上了完整的代码样本,如果还需要我一句一句解释清楚,是不是有点太过分了。

            tctcab
            耽误您宝贵的时间我很抱歉,但是您仍旧回答了我的问题我还应对您表示感谢。毕竟相对于忽视我的问题而言,您选择了回答并且说了这么多。对于一个刚入门还迫切需要解决问题的我来说,您说的话也算是给我上了一课。您很厉害,祝您生活愉快。无意打扰。

              sdlzxinac
              抱歉刚才态度不大好。初学者问题多很正常,大家都是这么过来的。不过问问题得有技巧,比如学R的过程中,所有正规包里的所有函数,对象都可以用统一的help("function")形式查看帮助, 所有函数的代码都可以运行函数名不加括号查看源代码。

              受欢迎的提问方式参考大鹏的这个帖子

              个人来说所有问题我都欢迎,但要解释代码的话那自尊心就有点受挫了,毕竟复制代码谷歌一下就会有答案都不愿意做的话,我感觉我付出的时间并没有受到尊重。

              这样的心累不止一次了……