小编luc*_*ano的帖子

汇总日期和计算平均值

我有一个数据框,在一列中有一长串日期,在另一列中有值,如下所示:

set.seed(1234)
df <- data.frame(date= as.Date(c('2010-09-05', '2011-09-06', '2010-09-13', 
                                 '2011-09-14', '2010-09-23', '2011-09-24',
                                 '2010-10-05', '2011-10-06', '2010-10-13', 
                                 '2011-10-14', '2010-10-23', '2011-10-24')),
                 value= rnorm(12))
Run Code Online (Sandbox Code Playgroud)

我需要计算每个月每10天的平均值,但无论年份如何,都是这样:

dfNeeded <- data.frame(datePeriod=c('period.Sept0.10', 'period.Sept11.20', 'period.Sept21.30',
                                    'period.Oct0.10', 'period.Oct11.20', 'period.Oct21.31'),
                       meanValue=c(mean(df$value[c(1,2)]), 
                                   mean(df$value[c(3,4)]),
                                   mean(df$value[c(5,6)]),
                                   mean(df$value[c(7,8)]), 
                                   mean(df$value[c(9,10)]),
                                   mean(df$value[c(11,12)])))
Run Code Online (Sandbox Code Playgroud)

有这么快的方法吗?

aggregate r date

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

用于估算缺失值的功能

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

set.seed(300)
df <- data.frame(site = sort(rep(paste0("site", 1:5), 5)), 
                 value = sample(c(1:5, NA), replace = T, 25))

df 

    site value
1  site1    NA
2  site1     5
3  site1     5
4  site1     5
5  site1     5
6  site2     1
7  site2     5
8  site2     3
9  site2     3
10 site2    NA
11 site3    NA
12 site3     2
13 site3     5
14 site3     4
15 site3     4
16 site4    NA
17 site4    NA
18 site4     4
19 site4     4
20 site4     4 …
Run Code Online (Sandbox Code Playgroud)

r missing-data

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

使用 reshape2 转置表

我有这个数据框:

mtcars_sub <- mtcars[1:5,c("mpg", "disp")]
mtcars_sub$car <- rownames(mtcars_sub)
rownames(mtcars_sub) <- 1:5
mtcars_sub

   mpg disp               car
1 21.0  160         Mazda RX4
2 21.0  160     Mazda RX4 Wag
3 22.8  108        Datsun 710
4 21.4  258    Hornet 4 Drive
5 18.7  360 Hornet Sportabout
Run Code Online (Sandbox Code Playgroud)

我需要将 data.frame 重新整形为以下格式:

在此输入图像描述

reshape2我特别在寻找使用该包的答案

r reshape2

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

在字符串的最后一个元素之前插入“and”

假设我有这个字符串:

fruits <- c("apple", "pear", "orange", "banana", "melon")
Run Code Online (Sandbox Code Playgroud)

我可以将每个元素折叠成一个字符串,如下所示:

cat(paste(fruits, collapse = ", "))
Run Code Online (Sandbox Code Playgroud)

但是如何在最后一个元素之前插入 and 呢?请注意,我的真实字符串长度有所不同。

输出应该是:

apple, pear, orange, banana and melon
Run Code Online (Sandbox Code Playgroud)

string text r

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

泊松回归线

如何在绘图中添加泊松回归线?我尝试了以下,但abline函数不起作用.这是因为abline()使用截距和斜率,而泊松回归线使用对数链接.

x = rpois(12, 5) 
plot(x, axes = F)
axis(1,at=1:length(month.name), labels = month.name)
axis(side = 2)
y = c(1:12)
poislm = glm(x~y, family=poisson)
abline(poislm)
Run Code Online (Sandbox Code Playgroud)

regression r poisson

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

R中绘图区域外的绘图点

我想在 R 中绘图的绘图区域之外添加点(星号)。但是,以下代码仅允许在绘图区域内添加点:

x = c(1:10)
y = c(1:10)
plot(x,y)
points(11, 7, pch = 8)
Run Code Online (Sandbox Code Playgroud)

如何调整代码以允许在绘图区域之外绘制点?

plot r

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

用knitr制作的乳胶图标题中的文字

我试图用knitr创建的图形标题中的一些文字斜体显示.我在.Rnw文件中有以下代码,我正在使用knitr将其转换为.tex文件:

<<plot_setosa, fig.cap="A plot of $\\textit{setosa}$">>=

plot(iris[iris$Species == "setosa",])

@
Run Code Online (Sandbox Code Playgroud)

如何在图标题中将setosa斜体化?

r knitr

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

使用dplyr过滤数据帧

我有这个data.frame:

df <- data.frame(
    id = c("x1", "x2", "x3", "x4", "x5", "x1", "x2", "x6", "x7", "x8", "x7", "x8" ), 
    age = c(rep("juvenile", 5), rep("adult", 7))
    )
df 

   id      age
1  x1 juvenile
2  x2 juvenile
3  x3 juvenile
4  x4 juvenile
5  x5 juvenile
6  x1    adult
7  x2    adult
8  x6    adult
9  x7    adult
10 x8    adult
11 x7    adult
12 x8    adult
Run Code Online (Sandbox Code Playgroud)

每行代表一个人.我想拉出所有成年人再次看到青少年的行.我不希望最初看到成年人的行再次成为成年人(ids x7和x8).所以得到的data.frame应该是这样的:

  id      age
1 x1 juvenile
2 x2 juvenile
3 x1    adult
4 x2 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

根据不同列中的值替换data.frame列中的值

我有这个data.frame:

df <- data.frame(id = rep(c("one", "two", "three"), each = 10), week.born = NA)
df$week.born[c(5,15,28)] <- c(23,19,24)

df 

  id week.born
1    one        NA
2    one        NA
3    one        NA
4    one        NA
5    one        23
6    one        NA
7    one        NA
8    one        NA
9    one        NA
10   one        NA
11   two        NA
12   two        NA
13   two        NA
14   two        NA
15   two        19
16   two        NA
17   two        NA
18   two        NA
19   two        NA
20   two        NA …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

根据月份阴影背景的ggplot

这段代码:

df <- data.frame(day <- 0:365, value = 1)
library(ggplot2)
ggplot(df, aes(day, value)) + geom_blank() + scale_x_continuous(breaks = seq(0, 365, 10)) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

产生这个情节:

在此输入图像描述

使用R代码,我想根据day哪个月落在哪个阴影的背景.我希望情节看起来如下(情节背景是Photoshop).我会对使用的解决方案特别感兴趣lubridate.

在此输入图像描述

r data-visualization date ggplot2 lubridate

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