我有一个生态数据的数据框,其中某些条目比化学中称为LOQ(定量限)的条目低。这些测量结果报告为“小于LOQ”。我要做的是将这些值更改为LOQ的一半。我可能可以找到删除“ <”的代码,但随后我不知道该除以2的哪个项。
#creating df
x1 <- c(1,2,"<1")
x2 <- c(3,"<4",3)
x3 <- c(1,2,3)
df <- data.frame(x1,x2,x3)
df
x1 x2 x3
1 1 3 1
2 2 <4 2
3 <1 3 3
Run Code Online (Sandbox Code Playgroud)
我希望结果为:
##### result #######
x1 <- c(1,2,0.5)
x2 <- c(3,2,3)
x3 <- c(1,2,3)
result <- data.frame(x1,x2,x3)
x1 x2 x3
1 1.0 3 1
2 2.0 2 2
3 0.5 3 3
Run Code Online (Sandbox Code Playgroud)
因此,基本上,将<符号忽略,并将剩余值除以2。有关如何执行此操作的任何想法?
它想在 ggplot 中绘制这种类型的图,但无法让它工作(在 excel 中制作):
因此,x 轴上有城市,但它们是根据它们所处的状态排列的。每个条形的颜色基于某些第三个属性,例如城市的大小(大、小或中),以及y 轴是任何东西的测量!应包含(大、小、中)的图例,只是不在我粘贴到此处的图中。
示例数据:
state <- c(rep("Texas",3),rep("Colorado",3),rep("Nevada",3))
city <- c("Houston","Austin","Dallas","Denver","Boulder","Aspen","Reno","Sparks","Henderson")
size <- c(rep(c("large","medium","small"),3))
value <- runif(9, 10,50)
df <- data.frame(state,city,size, value)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经这样做了:
plot <- ggplot(df, aes(x=State, y=value)) +
geom_bar(aes(fill=size),position = "dodge", stat = "identity", color="black")
plot
Run Code Online (Sandbox Code Playgroud)
但每个酒吧都没有标记城市名称。有任何想法吗?