小编luc*_*ano的帖子

ggplot中的ANCOVA图

以下代码绘制了ANCOVA的结果:

library(HH)
ancova(weight ~ gesttime + dose, data=litter)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如果我尝试在ggplot中绘制相同的图,则最适合的线的斜率在的不同水平上不是均匀的dose

library(ggplot2)
ggplot(litter, aes(gesttime, weight)) + geom_point() + facet_grid(. ~ dose) + stat_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何ancova()使用ggplot 制作与输出相同的图?

r ggplot2

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

主成分分析R中的双凸图,具有凸多边形

我使用以下代码生成了附加的biplot:

dd = data.frame(x = runif(10), y=runif(10)) 
pcr = prcomp(~x + y, data=dd)
biplot(pcr)
Run Code Online (Sandbox Code Playgroud)

这产生了一个双时隙,显示了x和Y的轴以及10个数据点中的每一个.

假设10个数据点由2个不同的组组成(一组5个,另一组5个).如何在每组周围生成最小凸多边形的双标图,以显示两组的分区?

r pca

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

使用名称重新排序因子级别

我可以使用像这样的索引重新排序因子的级别

factor(iris$Species,levels(iris$Species)[c(3:1)])
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试按名称重新排序相同的因子,它不起作用:

factor(iris$Species,levels(iris$Species)[c("virginica", "versicolor", "setosa")])
Run Code Online (Sandbox Code Playgroud)

有没有办法使用他们的名字重新排序因子的级别?

r r-factor

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

使用ggmap绘制多个地图

我可以ggmap用这样的点绘制英国地图:

library(ggmap)
UK_map <- get_map(location = c(-2.65, 53.7), zoom = 5, maptype = "hybrid")
UK_map <- ggmap(ggmap=UK_map, extent = "device", legend = "right")
UK_map + geom_point(data = data.frame(x = -1.81, y = 55.655), aes(x, y), size  = 5)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,如果我尝试使用Winston Chang的multiplot功能,那么这一点就会消失.

multiplot <- function(..., plotlist=NULL, cols) {
    require(grid)

    # Make a list from the ... arguments and plotlist
    plots <- c(list(...), plotlist)

    numPlots = length(plots)

    # Make the panel
    plotCols = cols                          # Number of …
Run Code Online (Sandbox Code Playgroud)

maps r ggmap

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

具有正前瞻/后瞻的正则表达式

如何使用单个正则表达式匹配以下所有字符串?

这是我尝试过的正则表达式:(?<=.+)site(?=.+)

请注意,更简单的正则表达式可能可以完成这项工作,但重点是了解正则表达式的(?<=.+)和部分的作用。(?=.+)

locationAsite1
locationAsiteNumber1
locationAsiteNumber01
locationAsite01
locationBsite.01
locationB.site.02
(locationB)site.02
<locationB>site<03>s
..locationB..site<03>
Run Code Online (Sandbox Code Playgroud)

regex

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

计算数据帧的差异

我有一个如下所示的数据框:

set.seed(50)
data.frame(distance=c(rep("long", 5), rep("short", 5)),
           year=rep(2002:2006),
           mean.length=rnorm(10))

   distance year mean.length
1      long 2002  0.54966989
2      long 2003 -0.84160374
3      long 2004  0.03299794
4      long 2005  0.52414971
5      long 2006 -1.72760411
6     short 2002 -0.27786453
7     short 2003  0.36082844
8     short 2004 -0.59091244
9     short 2005  0.97559055
10    short 2006 -1.44574995
Run Code Online (Sandbox Code Playgroud)

我需要计算每年mean.length之间long和之间的差异short.这样做最快的方法是什么?

r mean

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

使用ggplot2的交互图

以下代码显示了使用该effects库的交互图:

model <- lm(mpg ~ hp + wt + hp:wt, data=mtcars)
library(effects)
plot(effect("hp:wt", model, list(wt=c(2.2,3.2,4.2))), multiline=TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我尝试制作相同的模型,但保持wt在2.2,但此模型无法计算系数wt:

mtcars$wt_2.2 <- 2.2
model2.2 <- lm(mpg ~ hp + wt_2.2 + hp:wt, data=mtcars)
coef(model2.2)
Run Code Online (Sandbox Code Playgroud)

如何使用ggplot2创建相同的图?

plot r ggplot2

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

在列表中查找元素

我有这个角色矢量:

fruits <- c("melon", "grapefruit", "blueberry")
Run Code Online (Sandbox Code Playgroud)

我也有这个清单:

list_fruits <- list(list(first = "orange", second =  NULL,  third = "pineapple"),
               list(first = "apple",  second = NULL, third = "melon"))

list_fruits

[[1]]
[[1]]$first
[1] "apple"

[[1]]$second
NULL

[[1]]$third
[1] "pineapple"


[[2]]
[[2]]$first
[1] "apple"

[[2]]$second
NULL

[[2]]$third
[1] "melon"
Run Code Online (Sandbox Code Playgroud)

如果任何元素fruits等于所述元件的任何列表thirdlist_fruits,我需要的列表firstlist_fruits被outputed作为字符向量.

因此,如果我运行该函数list_fruits,输出将是:

"apple"
Run Code Online (Sandbox Code Playgroud)

r list

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

使用ggplot2在直方图上绘制置信区间

下面的代码绘制平均值的采样分布图并计算20批95%置信区间.如何在直方图上绘制置信区间,如下面的Photoshop图像?

# plot sampling distribution of mean -----------------------------------------------------------
set.seed(1)

population <- rnorm(10000, 3, 3)

population_mean <- mean(population)

my_sample <- sample(population, 100, replace = FALSE)

standard_error <- sqrt(var(my_sample)/length(my_sample))

sampling_distribution_of_mean <- rnorm(10000, mean = population_mean, sd = standard_error)

library(ggplot2)
ggplot(data.frame(x = sampling_distribution_of_mean), aes(x)) + geom_histogram() + geom_vline(xintercept = population_mean, color = "red")


# calculate 20 lots of 95% confidence intervals -----------------------------------------------------------

my_confidence_intervals <- function(){

    my_sample <- sample(population, 100, replace = FALSE)

    sample_mean <- mean(my_sample)

    standard_error <- sqrt(var(my_sample)/length(my_sample))

    margin_of_error <- 1.96*standard_error

    mean_minus_margin_of_error <- …
Run Code Online (Sandbox Code Playgroud)

statistics r data-visualization normal-distribution ggplot2

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

找到十年来的最高价值

我在R中有这个数据框:

set.seed(1)
count <- sample(1:100, 100, replace = TRUE)

set.seed(2)
year <- sample(1970:2015, 100, replace = TRUE)

library(dplyr)

df <- data_frame(count, year)

df

Source: local data frame [100 x 2]

   count year
1     27 1978
2     38 2002
3     58 1996
4     91 1977
5     21 2013
6     90 2013
7     95 1975
8     67 2008
9     63 1991
10     7 1995
..   ...  ...
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到每十年(70s ... 10s)的最高数量?

r dataframe dplyr

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