小编mat*_*ats的帖子

如何使用IF语句分配NA?

我想对0到1之间的值向量进行分类.值低于.001,值高于.10或不感兴趣.因此,我希望这些范围内的值为NA.

当我运行下面的代码时,我收到一个警告:

Error in if (x[i] > 0.001 & x[i] <= 0.01) x[i] = 0.01 :  missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)

如何修复代码?

for (i in 1:length(x))
  {
    if (x[i] <= .001)
      x[i] = NA
    if (x[i] > .001 & x[i] <= .01)
      x[i] = .01
    if (x[i] > .01 & x[i] <= .02)
      x[i] = .02
    if (x[i] > .02 & x[i] <= .03)
      x[i] = .03
    if (x[i] > .03 & x[i] <= .04)
      x[i] = .04
    if (x[i] …
Run Code Online (Sandbox Code Playgroud)

if-statement r na

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

将点添加到分组条形图 (ggplot2)

我有一个包含两个时间点测量值的数据集。我已经制作了第一个时间点的数据的条形图,并想为第二个时间点添加点(这只是作为参考)。正如您在下面看到的,这些点都在那里,但它们不在正确的 x 轴位置(即它们都在相同的 x 值上,与条形不同)。

怎么解决这个问题呢?

library(ggplot2)

MyData = data.frame(
  method=rep(c("A","B","C","D","E"),times=3),
  time1=rnorm(30,10,3),
  time2=rnorm(30,8,2),
  lab=rep(rep(c(1,2,3),each=5),times=2),
  cat=rep(c(1,2),each=15)
)

p <- ggplot(data = MyData,
            aes(x=lab)) +
  geom_bar(aes(y=time1,fill=method),
           stat="identity",
           position="dodge",
           alpha=.7
  ) +
  geom_point(aes(y=time2,group=method),
           stat="identity",
           position="dodge",
           alpha=.8,
           size=3) +
  scale_fill_brewer(palette=3) +
  facet_grid(. ~ cat)
p
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2 geom-bar

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

标签 统计

r ×2

geom-bar ×1

ggplot2 ×1

if-statement ×1

na ×1