小编JSP*_*JSP的帖子

R 中的 Shuffle 向量,但相同元素应该有最小距离

我想随机化/洗牌一个向量。一些向量元素是相同的。混洗后,相同元素的最小距离应为 3(即两个其他元素应位于相同元素之间)。

考虑以下 R 中的示例向量:

x <- rep(LETTERS[1:5], 3)  # Create example vector
x
#  [1] "A" "B" "C" "D" "E" "A" "B" "C" "D" "E" "A" "B" "C" "D" "E"
Run Code Online (Sandbox Code Playgroud)

如果我使用示例函数对向量进行混洗,则某些相同的元素可能会靠得太近。例如,如果我使用以下 R 代码,元素“C”会直接出现在位置 5 和 6 处:

set.seed(53135)
sample(x)                  # sample() function puts same elements too close
#  [1] "B" "A" "E" "D" "C" "C" "E" "A" "B" "C" "D" "E" "A" "D" "B"
Run Code Online (Sandbox Code Playgroud)

如何确保相同元素的最小距离为三个?

random r sample distance

15
推荐指数
2
解决办法
346
查看次数

用"&"替换字符中的最后一个逗号

我有许多不同的字符,具有以下结构:

# Example
x <- "char1, char2, char3"
Run Code Online (Sandbox Code Playgroud)

我想用"&"删除此字符的最后一个逗号,即所需的输出应如下所示:

# Desired output
"char1, char2 & char3"
Run Code Online (Sandbox Code Playgroud)

我怎么能用"&"替换字符的最后一个逗号?

replace r character

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

ggplot2:如何以特定角度旋转图形?

我想以自己指定的角度旋转 ggplot2 图。我发现如何旋转轴的文字element_text(angle = 20)。我想对整个情节做类似的事情。

可重现的例子:

set.seed(123)

data_plot <- data.frame(x = sort(rnorm(1000)),
                        y = sort(rnorm(1000)))

ggplot(data_plot, aes(y, x)) +
    geom_line() # + theme(axis.title.x = element_text(angle = 20))
Run Code Online (Sandbox Code Playgroud)

此图应旋转:

在此处输入图片说明

r graph angle rotation ggplot2

6
推荐指数
1
解决办法
1830
查看次数

DiagrammeR:调整节点内的字体大小

我想创建一个流程图DiagrammeRR。在某些节点内,我想减小文本某些部分的字体大小。

考虑以下示例R

library("DiagrammeR")

# Create a node data frame (ndf)
ndf <- create_node_df(n = 4,label = c("aaa", "bbb",
                                      "Same size\nThese letters\nshould be smaller",
                                      "ccc"))

# Create an edge data frame (edf)
edf <- create_edge_df(from = c(1, 2, 3, 3),
                  to = c(4, 3, 1, 4))

# Create a graph with the ndf and edf
graph <- create_graph(nodes_df = ndf,
                      edges_df = edf)

# Print graph
graph %>%
  render_graph()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

中间节点的字体大小应该部分减小。文本“相同大小”应保持原样。应减小“这些字母应该更小”文本的字体大小。

问题:如何调整节点内某些文本部分的字体大小?

graphics r font-size diagrammer

6
推荐指数
1
解决办法
1238
查看次数

通过 gganimate 的动画条形图:view_follow 和 coord_flip 的冲突

我想用这个gganim包制作一个动画条形图。条形图的坐标应通过coord_flip(即水平条)翻转,并且 x 轴应根据条的长度灵活设置通过view_follow

考虑以下示例数据:

# Create example data
df <- data.frame(ordering = c(rep(1:3, 2), 3:1, rep(1:3, 2)),
                 year = factor(sort(rep(2001:2005, 3))),
                 value = round(runif(15, 0, 100)),
                 group = rep(letters[1:3], 5))
Run Code Online (Sandbox Code Playgroud)

如果我创建一个没有 的动画条形图coord_flip,一切正常:

library("gganimate")
library("ggplot2")

# Create animated ggplot without coord_flip
ggp <- ggplot(df, aes(x = ordering, y = value)) +
  geom_bar(stat = "identity", aes(fill = group)) +
  transition_states(year, transition_length = 2, state_length = 0) +
  view_follow(fixed_x = TRUE) # +
  # coord_flip() …
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2 axis-labels gganimate

6
推荐指数
1
解决办法
676
查看次数

DiagrammeR:如何在箭头旁边添加标签?

我想创建一个流程图DiagrammeRR。图形应如下例所示,但我想在箭头上方添加一些标签。

考虑以下可重现的示例R

library("DiagrammeR")

# Create a node data frame (ndf)
ndf <- create_node_df(n = 4,
                      shape = c("rectangle"))

# Create an edge data frame (edf)
edf <- create_edge_df(from = c(1, 2, 3, 3),
                      to = c(4, 3, 1, 4),
                      rel = c("a", "b", "c", "d"))

# Create a graph with the ndf and edf
graph <- create_graph(nodes_df = ndf,
                      edges_df = edf)

# Create a PDF file for the graph (`graph.pdf`)
graph %>%
  export_graph(file_name …
Run Code Online (Sandbox Code Playgroud)

r graph flowchart diagrammer

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

ggplot2:为彩色条形图和图例添加不同的纹理

基于 ggplot2 包,我想为条形图的不同条添加不同的纹理。此外,我想将这些纹理添加到条形图的图例中。

考虑以下可重现的示例:

# Create example data
data_ggp <- data.frame(category = rep(c("cat1", "cat2", "cat3"), 4),
                       values = c(0.664, 0.045, 0.291, 0.482, 0.029, 0.489, 0.537, 0.027, 0.436, 0.536, 0.028, 0.436),
                       group = c(rep("group1a", 3), rep("group1b", 3), rep("group2a", 3), rep("group2b", 3)))

# Load ggplot2
library("ggplot2")

# Draw barchart (not overlayed)
ggplot(data_ggp, aes(category, values)) + 
  geom_bar(stat = "identity", aes(fill = group), position = "dodge") +
  scale_fill_manual(" ", 
                    labels = c("group1a", "group1b", "group2a", "group2b"),
                    values = c("group1a" = "deepskyblue4", "group1b" = "darkolivegreen4", 
                               "group2a" …
Run Code Online (Sandbox Code Playgroud)

textures r legend bar-chart ggplot2

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

随机选择ggtheme

我想绘制一个随机主题的ggplot(事实上,我想绘制许多情节,每个情节都有不同的主题).考虑以下可重现的示例:

# Exmple data
df <- data.frame(x = 1:10, y = 1:10)

# Select theme randomly
random_theme <<- sample(c("theme_gray", "theme_bw", "theme_light", "theme_dark", "theme_minimal", "theme_classic"), 1)

# Draw ggplot
ggplot(df, aes(x, y)) +
  geom_line() +
  random_theme            # This line does not work
Run Code Online (Sandbox Code Playgroud)

问题:如何随机选择ggtheme?

plot themes r ggplot2

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

在过渡期间增加轮值

我想用 gganimate 包创建一个动画条形图。在每个条形的顶部,我想将条形的值四舍五入到零位。

考虑以下示例:

# Example data
df <- data.frame(ordering = c(rep(1:3, 2), 3:1, rep(1:3, 2)),
                 year = factor(sort(rep(2001:2005, 3))),
                 value = round(runif(15, 0, 100)),
                 group = rep(letters[1:3], 5))

# Create animated ggplot
ggp <- ggplot(df, aes(x = ordering, y = value)) +
  geom_bar(stat = "identity", aes(fill = group)) +
  transition_states(year, transition_length = 2, state_length = 0) +
  geom_text(y = df$value, label = as.integer(round(df$value)))
ggp
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

不幸的是,我没有设法正确地舍入这些值。有没有办法在转换期间舍入值?

r rounding bar-chart ggplot2 gganimate

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

使用 R 在 Firefox 中创建当前打开的 URL 的向量

我想使用 R 来提取当前在 Web 浏览器中打开的所有 URL。考虑以下示例:

如何从 R 中提取这两个 URL,以获得以下输出?

my_urls <- c("https://www.google.de/", "https://www.amazon.com/")
my_urls
### [1] "https://www.google.de/"  "https://www.amazon.com/"
Run Code Online (Sandbox Code Playgroud)

经过一些研究,我怀疑这可能与RSelenium 包有关,但不幸的是我无法找出合适的 R 代码。

firefox r

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