小编stu*_*est的帖子

使用geom_line连接缺失值

我想弄清楚是否可以使用geom_line连接缺失值.例如,在下面的链接中,在方面F的时间3处存在缺失值.在这种情况下,我想要一条连接时间2和4的线.有没有办法实现这个目标?

https://farm8.staticflickr.com/7061/6964089563_b150e0c2a6.jpg

我有一个累积值的数据框,如下所示:

head(cumulative)

  individual series Time     Value
1          A      x    1 -1.008821
2          A      x    2 -2.273712
3          A      x    3 -3.430610
4          A      x    4 -4.618860
5          A      x    5 -4.893075
6          A      x    6 -5.836532
Run Code Online (Sandbox Code Playgroud)

我正在密谋:

ggplot(cumulative, aes(x=Time,y=Value, shape=series)) + 
    geom_point() + 
    geom_line(aes(linetype=series)) + 
    facet_wrap(~ individual, ncol=3)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何在嵌套的hashmap中合并?

我有一个嵌套的hashmap,其结构类似于以下内容:

(def pathmap {:order {:genus {:species {:cat2 "data", :cat1 "data"}}}})
Run Code Online (Sandbox Code Playgroud)

我需要的是像assoc-in这样的函数,它允许我将新的键值对添加到最里面的嵌套映射,而不是简单地替换已存在的那些.例如:

(my-assoc-merge pathmap [:order :genus :species] {:cat3 "data"})
;=> {:order {:genus {:species {:cat3 "data" :cat2 "data", :cat1 "data"}}}}
Run Code Online (Sandbox Code Playgroud)

我认为通过稍微改变assoc-in函数以使用merge-with和union,我可以很容易地做到这一点:

(defn my-assoc-merge
  [m [k & ks] v]
  (if ks
    (assoc m k (my-assoc-merge (get m k) ks v))
    (assoc m k (merge-with clojure.set/union (get m k '{}) v))))
Run Code Online (Sandbox Code Playgroud)

不幸的是,这给了我错误"CompilerException java.lang.UnsupportedOperationException:此类型不支持count:关键字,编译:(core.clj:34:12)".我哪里错了?

clojure

5
推荐指数
1
解决办法
696
查看次数

ggplot2中堆积盒的直方图

我目前试图制作的图表在两个凳子之间略有下降.我想制作一个由堆叠和标记的框组成的直方图.以下是我正在讨论的事情的一个例子,摘自"纽约时报"最近的一篇文章:

http://farm8.staticflickr.com/7109/7026409819_1d2aaacd0a.jpg

是否可以使用ggplot2实现这一目标?

为了放大这个问题,到目前为止,我所拥有的是:

dfr <- data.frame(
name = LETTERS[1:26],
percent = rnorm(26, mean=15)
)

ggplot(dfr, aes(x=percent, fill=name)) + geom_bar() +
stat_bin(geom="text", aes(label=name))
Run Code Online (Sandbox Code Playgroud)

......我显然做错了.最终,我理想的是沿着下面手动修改的图形的线条,其中(例如)字母A到M填充一个阴影,N到Z填充另一个阴影.

http://farm8.staticflickr.com/7116/7026536711_4df9a1aa12.jpg

r ggplot2

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

在Clojure中捕获系统/输出

我正在使用一个Java包来输出文本到控制台,我需要在字符串中捕获该文本,但我不知道如何做到这一点.从查看Clojure文档看来,我所要做的就是将java调用包装起来,with-out-str但这对我不起作用.

最小代码示例:如果我尝试

(with-out-str 
 (.println (System/out) "foo"))
Run Code Online (Sandbox Code Playgroud)

我希望得到一个值为"foo"的字符串,但它仍然输出到控制台.我究竟做错了什么?

java clojure

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

标签 统计

clojure ×2

ggplot2 ×2

r ×2

java ×1