我使用plotly包创建了一个Sankey图.
据我所知,节点的默认顺序主要由值定义.但是,我想要字母顺序,而无需手动移动鼠标药物的节点.
我可以用R更改默认顺序吗?
任何帮助将不胜感激.下面是一个示例代码和输出:
node_label <- c("x1_1", "x1_2", "x2_1", "x2_2")
link_source <- c(0, 0, 1, 1)
link_target <- c(2, 3, 2, 3)
link_value <- c(2, 5, 1, 3)
# when link_value <- c(5, 2, 1, 3), the order is changed.
plotly::plot_ly(
type = "sankey",
domain = list(x = c(0,1), y = c(0,1)),
node = list(label = node_label),
link = list(
source = link_source,
target = link_target,
value = link_value))
Run Code Online (Sandbox Code Playgroud)
我想在单个管道链中使用colnames及其值来选择cols而不引用其他对象,例如NAMES <- names(d).我能用select_if()吗?
例如,
我可以使用colnames来选择cols.
(select(matches(...))更聪明地处理colnames).
library(dplyr)
d <- iris %>% select(-Species) %>% tibble::as.tibble()
d %>% select_if(stringr::str_detect(names(.), "Petal"))
Run Code Online (Sandbox Code Playgroud)
我可以使用这些值.
d %>% select_if(~ mean(.) > 5)
Run Code Online (Sandbox Code Playgroud)
但是如何使用它们呢?(特别是OR)
下面的代码是我想要的(当然,不要运行).
d %>% select_if(stringr::str_detect(names(.), "Petal") | ~ mean(.) > 5)
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我使用该包创建了一个网络图visNetwork(抱歉,我对其他语言知之甚少)。
我想要两点(请看左下图)
我可以用 R 来做吗?
任何帮助将不胜感激。下面是示例代码和输出:
library(dplyr); library(visNetwork)
visNetwork(nodes = data_frame(id = 1:3,
label = c("abcdef", "xxx", "y"),
shape = "box"),
edges = data_frame(from = c(1, 1, 2),
to = c(2, 3, 3),
arrows = "to")) %>%
visNodes(font = list(size = 17),
color = list(background = "aliceblue", border = "darkblue")) %>%
visEdges(width = 2) %>%
visIgraphLayout(layout = "layout_nicely")
Run Code Online (Sandbox Code Playgroud)
我使用 SPSS 建模器 v18.2.1 和 R v3.5.1(或 v3.3.3)使用 Essentials for R 18.2.1。
我正在尝试制作“扩展转换(R 语法)”节点来处理 SPSS 难以处理的一些问题(未来:使它们成为扩展包)。我希望他们添加多个列,创建新数据等并给出下一个节点data.frame。但是data.frameSPSS 节点错误地识别了它们(即,下一个表节点的输出与 的控制台输出不同print(modelerData))。
怎么做 ?(或者这是一个错误?)
任何帮助将不胜感激。下面是一个可重现的简单示例;
[准备R env和数据(请用纯R做)]
# if not installed
install.packages(randomForest)
set.seed(1) # to reproduce
write.csv(iris[sort(sample(1:150, 100)), ], "iris_train_seed1.csv", row.names = FALSE)
Run Code Online (Sandbox Code Playgroud)
【扩展变换的R代码】
### library ###
library(randomForest)
# make_model
set.seed(1)
modelerModel <- randomForest(formula = Species ~ . ,
data = modelerData,
ntree = 100)
#### predict
pred_forest <- data.frame(pred = predict(modelerModel,
newdata = modelerData))
prob_forest …Run Code Online (Sandbox Code Playgroud)