小编Mik*_*eTP的帖子

汇总/汇总每组的多个变量(例如总和,平均值)

从数据帧,是否有聚集(一个简单的方法sum,mean,max同时等c)中多个变量?

以下是一些示例数据:

library(lubridate)
days = 365*2
date = seq(as.Date("2000-01-01"), length = days, by = "day")
year = year(date)
month = month(date)
x1 = cumsum(rnorm(days, 0.05)) 
x2 = cumsum(rnorm(days, 0.05))
df1 = data.frame(date, year, month, x1, x2)
Run Code Online (Sandbox Code Playgroud)

我想同时按年和月汇总数据框中的变量x1x2变量df2.以下代码聚合x1变量,但是是否也可以同时聚合x2变量?

### aggregate variables by year month
df2=aggregate(x1 ~ year+month, data=df1, sum, na.rm=TRUE)
head(df2)
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.

aggregate r dataframe r-faq data.table

143
推荐指数
6
解决办法
16万
查看次数

计算每个组中的行数

我有一个数据帧,我想计算每组内的行数.我通常使用该aggregate函数对数据求和如下:

df2 <- aggregate(x ~ Year + Month, data = df1, sum)
Run Code Online (Sandbox Code Playgroud)

现在,我想计算观察结果,但似乎无法找到适当的论据FUN.直觉上,我认为它会如下:

df2 <- aggregate(x ~ Year + Month, data = df1, count)
Run Code Online (Sandbox Code Playgroud)

但是,没有这样的运气.

有任何想法吗?


一些玩具数据:

set.seed(2)
df1 <- data.frame(x = 1:20,
                  Year = sample(2012:2014, 20, replace = TRUE),
                  Month = sample(month.abb[1:3], 20, replace = TRUE))
Run Code Online (Sandbox Code Playgroud)

aggregate r dataframe r-faq

102
推荐指数
11
解决办法
21万
查看次数

如何处理ggplot2中的"class uneval"错误?

在尝试将新行重叠到现有ggplot时,我收到以下错误:

Error: ggplot2 doesn't know how to deal with data of class uneval
Run Code Online (Sandbox Code Playgroud)

我的代码的第一部分工作正常.以下是来自美国中西部电力市场的"近期"每小时风力发电数据的图像.

最近的每小时风数据

现在我想用Red重叠最后两天的观察值.它应该很容易,但我无法弄清楚为什么我会收到错误.

任何帮助将不胜感激.

以下是可重复的示例:

# Read in Wind data
fname <- "https://www.midwestiso.org/Library/Repository/Market%20Reports/20130510_hwd_HIST.csv"
df <- read.csv(fname, header=TRUE, sep="," , skip=7)
df <- df[1:(length(df$MKTHOUR)-5),]

# format variables
df$MWh <- as.numeric(df$MWh)
df$Datetime <- strptime(df$MKTHOUR, "%m/%d/%y %I:%M %p")

# Create some variables
df$Date  <- as.Date(df$Datetime)
df$HrEnd <- df$Datetime$hour+1

# Subset recent and last data
last.obs  <- range(df$Date)[2]
df.recent <- subset(df, Date %in% seq(last.obs-30, last.obs-2, by=1))
df.last   <- subset(df, Date %in% seq(last.obs-2, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

99
推荐指数
2
解决办法
13万
查看次数

提取stat_smooth线拟合的方法

有没有办法提取stat_smooth返回的拟合线的值?

我使用的代码如下所示:

p <- ggplot(df1, aes(x=Days, y= Qty,group=Category,color=Category))
p <- p + stat_smooth(method=glm, fullrange=TRUE)+ geom_point())
Run Code Online (Sandbox Code Playgroud)

这个新用户会非常感谢任何指导.

r stat ggplot2

51
推荐指数
5
解决办法
3万
查看次数

在[r]数据框中从日期变量创建月末日期的方法

我有一个带有日期变量的[r]大数据框,它反映了该月的第一天.是否可以轻松地创建代表该月最后一天的新数据框日期变量?

以下是一些示例数据:

date.start.month=seq(as.Date("2012-01-01"),length=4,by="months")
df=data.frame(date.start.month)
df$date.start.month

"2012-01-01" "2012-02-01" "2012-03-01" "2012-04-01"
Run Code Online (Sandbox Code Playgroud)

我想返回一个新的变量:

"2012-01-31" "2012-02-29" "2012-03-30" "2012-04-27"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但是没有成功:

df$date.end.month=seq(df$date.start.month,length=1,by="+1 months")
Run Code Online (Sandbox Code Playgroud)

任何对这个新[r]用户的指导将不胜感激.

r date dataframe

27
推荐指数
4
解决办法
4万
查看次数

正则表达式多重模式与单数替换

我试图取代两个"st." 和"ste." 用"st".似乎以下应该可以工作,但它不会:

require("stringr")
county <- c("st. landry", "ste. geneveve", "st. louis")
str_replace_all(county, c("st\\.", "ste\\."), "st")
Run Code Online (Sandbox Code Playgroud)

regex r stringr

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

ggplot2 y轴标签小数精度

我在一个循环中绘制了几个ggplot图表(我知道,我知道不要循环使用plyr ...但是)并且很奇怪是否有办法将小数精度设置为一个小数(即0.0).我正在使用以下比例转换.

p <- p + scale_y_log10()
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

r ggplot2

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

ggplot 2 facet_grid"free_y"但强制Y轴舍入到最接近的整数

使用时:

facet_grid(SomeGroup ~, scales="free_y") 
Run Code Online (Sandbox Code Playgroud)

是否可以指定虽然您希望标尺"自由",但您希望它们四舍五入到最接近的整数?

任何援助都将受到极大的赞赏.

r ggplot2

18
推荐指数
2
解决办法
8729
查看次数

R Plyr包中变量(即"变量")之前点的目的是什么?

R Plyr包中变量(即"变量")之前点的目的是什么?

例如,从R帮助文件:

ddply(.data, .variables, .fun = NULL, ...,
    .progress = "none", .drop = TRUE, .parallel = FALSE)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激

r plyr

16
推荐指数
2
解决办法
5394
查看次数

ggplot2中的图例标题位置

Anone知道如何在ggplot中更改图例标题的位置?

我使用以下代码将图例移到底部并使其水平

p <- p + opts(legend.position = 'bottom', legend.direction = 'horizontal')
Run Code Online (Sandbox Code Playgroud)

现在我希望标题位于图例的左侧而不是上方.我看了下面的地方,但无法找到它或弄明白:

https://github.com/hadley/ggplot2/wiki/Legend-Attributes http://had.co.nz/ggplot2/book/toolbox.r

任何帮助将不胜感激

position r legend ggplot2

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

标签 统计

r ×10

ggplot2 ×5

dataframe ×3

aggregate ×2

r-faq ×2

data.table ×1

date ×1

legend ×1

plyr ×1

position ×1

regex ×1

stat ×1

stringr ×1