小编van*_*eri的帖子

什么是ggplot stat_quantile中的分位数?

这是我可重复的数据:

library("ggplot2")
library("ggplot2movies")
library("quantreg")    
set.seed(2154)
msamp <- movies[sample(nrow(movies), 1000), ]
Run Code Online (Sandbox Code Playgroud)

我正在尝试熟悉stat_quantile,但文档中的示例提出了几个问题.

mggp <- ggplot(data=msamp, mapping=aes(x=year, y=rating)) + 
    geom_point() + 
    stat_quantile(formula=y~x, quantiles=c(0, 0.25, 0.50, 0.75, 1)) + 
    theme_classic(base_size = 12) + 
    ylim(c(0,10))
mggp
Run Code Online (Sandbox Code Playgroud)
  1. 根据我的理解,分位数将数据分成小于定义的截止值的部分,对吗?如果我像下面的代码中那样定义分位数,我得到五行.为什么?它们代表什么?

  2. 似乎分位数是基于y轴上的因变量(评级)计算的.有可能扭转这种局面吗?我的意思是根据"年份"中的分位数分割数据?

r ggplot2 quantreg

5
推荐指数
1
解决办法
1452
查看次数

获取列表中最长的元素

假设你有一个data.frames列表

dfs <- list(
  a = data.frame(x = c(1:4, 7:10), a = runif(8)),
  b = data.frame(x = 1:10, b = runif(10)),
  c = data.frame(x = 1:10, c = runif(10))
)
Run Code Online (Sandbox Code Playgroud)

我现在想要提取此列表中最长的data.frame或data.frames.怎么样?

我被困在这一点上:

library(plyr)
lengths <- lapply(dfs, nrow)
longest <- max(lengths)
Run Code Online (Sandbox Code Playgroud)

r list

5
推荐指数
1
解决办法
5597
查看次数

ggplot2只有ablines

我正在关注ggplot文档中的一个示例

这是代码:

library(plyr)
coefs <- ddply(mtcars, .(cyl), function(df) {
  m <- lm(mpg ~ wt, data=df)
  data.frame(a = coef(m)[1], b = coef(m)[2])
})

p <- ggplot(mtcars, aes(x = wt, y=mpg), . ~ cyl) + geom_point()
p + geom_abline(data=coefs, aes(intercept=a, slope=b))
Run Code Online (Sandbox Code Playgroud)

但是,我想只使用'ablines'相同的图形!没有点!试:

p <- ggplot(mtcars, aes(x = wt, y=mpg), . ~ cyl)
p + geom_abline(data=coefs, aes(intercept=a, slope=b))
Run Code Online (Sandbox Code Playgroud)

给我一个错误:"参数"env"缺失,没有默认值'

plot r ggplot2

1
推荐指数
1
解决办法
355
查看次数

什么是模型矩阵/设计矩阵

我对stats::model.matrixR中的函数之以鼻。在描述中它说它将创建一个设计矩阵。它给了我奇怪的行数,既不对应于我的数据中的观察数,也不对应于我的模型中的参数数。

什么是设计矩阵/模型矩阵?

这是我的用法:

M03b <- glmer(APMs ~ PrePost + Gf + eyeFRF + (1|content) + (eyeFRF|ID),    data=mlmData, family=binomial("logit"))
X <- model.matrix(M03b)
Run Code Online (Sandbox Code Playgroud)

它给了我2895x4矩阵 ID有105个级别,内容为28,所以行数对我来说意义不大。也许缺少价值是一个问题?

r lme4 multi-level mixed-models

1
推荐指数
1
解决办法
1531
查看次数

将excel列名转换为数字

我想编写一个函数将excel列名转换为相应的数字.到目前为止我想出的只是部分工作.也就是说,较低的字母首先出现的输入("AB",AC"等)工作正常.但它不起作用("BA","CA"等).我已经追踪到错误到行,y <- which(base::LETTERS==x)但我真的不明白这些布尔运算符如何在向量上工作.任何建议?

#so to pass excel column-names directly, this function should do the trick
LettersToNumbers <- function(input){
    x <- toupper(substring(input, c(1:nchar(input)), c(1:nchar(input)))) #parse input-string
    y <- which(base::LETTERS==x) #letters to numbers
    y <- rev(y) #reverse
    #base26 conversion:
    result <- 0
    for (i in 1:length(y)){
        result <- result + ( y[i]*26^(i-1) )
    }
    return(result)
}
Run Code Online (Sandbox Code Playgroud)

事实上,事实证明还有一些例子不起作用.这里有一些,我真的不明白发生了什么.

> which(LETTERS==c("A", "B"))
[1] 1 2
> which(LETTERS==c("A", "C"))
[1] 1
> which(LETTERS==c("A", "D"))
[1] 1 4
> which(LETTERS==c("D", "A"))
integer(0)
> 
Run Code Online (Sandbox Code Playgroud)

r function

1
推荐指数
1
解决办法
1017
查看次数

ggplot2绘图函数有几个参数

我有这个功能.

change <- function(score, d, k, p) {k*(score - 1/(1+k^(d/p)))}
Run Code Online (Sandbox Code Playgroud)

我想在一个单独的图中绘制一系列参数d和p的函数的所有结果.在基地r就是这样.

parameters <- c(100:400)
colorshelf <-rainbow(length(parameters)) #red is low
for(i in seq_along(parameters)) {
    print(i)
    curve(change(score=1, d=x, k=100, p=parameters[i]), from=0, to=500, add=T, col=colorshelf[i])
}
Run Code Online (Sandbox Code Playgroud)

但是我认为这在ggplot2中一定是可能的,但是无法解决这个问题.我目前仍然坚持这一点.任何帮助表示赞赏.

ggp <- ggplot(data.frame(Ds=c(0:1000), Ps=c(0:1000)), aes(x=Ds, col=Ps)) + 
    stat_function(fun=change, args=list(score=1, d=Ds, k=100, p=Ps))
ggp
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2

1
推荐指数
1
解决办法
794
查看次数

按特定顺序排序data.frame(不上升/下降)

a = data.frame(x = c("fl", "kl", "po", "rt", "st"), a = runif(5), b = runif(5), c = runif(5), stringsAsFactors=FALSE)

reference = c("po", "rt", "fl", "st", "kl")
Run Code Online (Sandbox Code Playgroud)

有data.frame a,它应该x根据reference向量排序.我该怎么做?

sorting r dataframe

0
推荐指数
1
解决办法
931
查看次数

R文档和帮助页面 - 管道操作员的示例

我想知道这个,%>%所以我输入?%>%控制台并得到: Error: unexpected SPECIAL in "?%>%".很公平.所以我键入?"%>%"并获得以下内容:

%>%                   package:tidyr                    R Documentation

Pipe operator

Description:

     See ‘%>%’ for more details.

Usage:

     lhs %>% rhs
Run Code Online (Sandbox Code Playgroud)

好吧!?'%>%'但是,打字会引导我进入完全相同的帮助页面.我的错是什么?
不需要解释管道操作员,我现在用Google搜索了,但我会做什么,是我在没有互联网的火车上?

编辑.我觉得这个问题有点误导,所以让我重新说一下.如何%>%在R的帮助文档中找到管道操作员的相应文档?如果文档告诉我"查看...以获取更多详细信息",这究竟是什么意思?那我该怎么办?

r operators tidyr

0
推荐指数
1
解决办法
238
查看次数