小编Has*_*ntm的帖子

在R中的循环中构建列表 - 使项目名称正确

我有一个函数,它包含两个列表上的循环并构建一些计算数据.我想将这些数据作为列表列表返回,并按一些值索引,但我得到的是错误的分配.

我正在尝试做的最小例子,以及我出错的地方是:

mybiglist <- list()
for(i in 1:5){
    a <- runif(10)
    b <- rnorm(16)
    c <- rbinom(8, 5, i/10)
    name <- paste('item:',i,sep='')
    tmp <- list(uniform=a, normal=b, binomial=c)
    mybiglist[[name]] <- append(mybiglist, tmp)
}
Run Code Online (Sandbox Code Playgroud)

如果你运行它并查看输出mybiglist,你会发现每个项目的命名方式都是非常错误的.

关于如何实现我真正想要的任何想法?

谢谢

PS.我知道在R中有一种感觉,如果一个人必须求助于循环,那么一个人失败了,但在这种情况下我觉得有道理;-)

loops r list

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

删除ggplot中的图层图例

另一个ggplot传奇问题!

我有一个表格的数据集

test <- data.frame(
  cond = factor(rep(c("A", "B"), each=200)), 
  value = c(rnorm(200), rnorm(200, mean=0.8))
)
Run Code Online (Sandbox Code Playgroud)

所以两组和一些值我想绘制密度.我还想在剧情中添加一行表示每组的平均值,所以我:

test.cdf <- ddply(test, .(cond), summarise, value.mean=mean(value))
Run Code Online (Sandbox Code Playgroud)

然后在ggplot调用:

ggplot(test, aes(value, fill=cond)) + 
  geom_density(alpha=0.5) + 
  labs(x='Energy', y='Density', fill='Group') + 
  opts(
    panel.background=theme_blank(), 
    panel.grid.major=theme_blank(), 
    panel.grid.minor=theme_blank(), 
    panel.border=theme_blank(), 
    axis.line=theme_segment()
  ) + 
  geom_vline(data=test.cdf, aes(xintercept=value.mean, colour=cond), 
    linetype='dashed', size=1)
Run Code Online (Sandbox Code Playgroud)

如果运行上面的代码,则会得到一个表示每个组的图例,但也会显示一个表示平均指示符vline的图例.我的问题是如何摆脱传说geom_vline()

r legend ggplot2

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

按年度将数据汇总为每月计数

我不习惯使用R中的时间序列数据,我对此有点困惑.我有一个事件参考数据框和事件记录的数据.这些数据运行了7年,并希望将其总结为7年期间每月的事件数,并使用ggplot2进行绘制.

我似乎无法让日期转换一起工作,所以我最终得到一个计数和一个日期,我可以提供给ggplot2的scale_x_date()功能

这是一个数据示例:

df <- structure(list(Ref = structure(c(127L, 33L, 232L, 392L, 490L, 
242L, 437L, 346L, 443L, 560L, 598L, 568L, 103L, 262L, 463L, 17L, 
114L, 276L, 361L, 422L), .Label = c("01090013", "0109005", "0109006", 
"0109007", "0109009", "0109010", "0109011", "0109012", "0109014", 
"0109016", "0109022", "0110001", "0110004", "0110007", "0110009", 
"0110011", "0111001", "0111002", "0111012", "0111016", "0111017", 
"0112001", "0112003", "0112008", "0112010", "015004", "015006", 
"015008", "015010", "015013", "016002", "016003", "016004", "016005", 
"016006", "016008", "016009", "016010", "016011", "016013", "016014", 
"016016", "017001", "018001", "018004", "018005", "018007", "018008", 
"018009", …
Run Code Online (Sandbox Code Playgroud)

r time-series summarization ggplot2

5
推荐指数
2
解决办法
2044
查看次数

标签 统计

r ×3

ggplot2 ×2

legend ×1

list ×1

loops ×1

summarization ×1

time-series ×1