我试图弄清楚如何根据 2 列的链接对 R 数据表进行排序。
这是我的示例 data.table。
dt <- data.table(id = c('A', 'A', 'A', 'A', 'A')
, col1 = c(7521, 0, 7915, 5222, 5703)
, col2 = c(7907, 5703, 8004, 7521, 5222))
id col1 col2
1: A 7521 7907
2: A 0 5703
3: A 7915 8004
4: A 5222 7521
5: A 5703 5222
Run Code Online (Sandbox Code Playgroud)
我需要以 col1 = 0 开始的行顺序。第 2 行中的 col1 值应该等于前一行中 col2 的值,依此类推。
此外,通常应该始终有一个匹配的值来链接行顺序。但如果不是,它应该选择最接近的值(参见下面的第 4 和第 5 行)。
我正在寻找的结果如下所示:
id col1 col2
1: A 0 5703
2: …
Run Code Online (Sandbox Code Playgroud) 我希望输入将甘特图嵌入到R markdown文件中.
我正在使用DiagrammeR包中的Mermaid函数来制作甘特图.我想将不同的图分隔成markdown文件中的选项卡.但是,图表仅显示在第一个选项卡上.如果我有第二个或第三个标签,则内容为空白,我无法弄清楚原因.
这是一些可重现的代码:
---
title: "Gantt Charts!"
output:
html_document
---
```{r results = 'hide', message = FALSE, error = FALSE, echo = FALSE, warning = FALSE}
library(DiagrammeR)
```
### Personnel {.tabset .tabset-pills}
#### Joe Bob
```{r, echo = FALSE}
mermaid("
gantt
dateFormat YYYY-MM-DD
title Joe Bob's Chart
section Project
Design :active, proj_1, 2017-05-10, 2017-05-17
Implementation : proj_2, 2017-05-17, 2017-05-31
")
```
#### John Doe
```{r, echo = FALSE}
mermaid("
gantt
dateFormat YYYY-MM-DD
title John Doe's Chart
section Test
Analysis …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用美人鱼在markdown文件中呈现流程图。我的GitHub存储库中有一个ReadMe.md文件,并且我想提供一个基本流程图来帮助描述内容。但是我不知道如何使它工作。有人能够发布一些更具体的说明,以呈现一个简单的示例吗?
在此链接(https://unpkg.com/mermaid@8.0.0-rc.8/README.md)中,有一个有关Mermaid安装的示例代码片段:
```
https://unpkg.com/mermaid@7.1.0/dist/
```
Run Code Online (Sandbox Code Playgroud)
我包含了该代码,然后尝试在下一个代码段中制作流程图:
```
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
Run Code Online (Sandbox Code Playgroud)
但是它所做的只是在我预览时在markdown文件中打印出该文本。
似乎有可能基于《美人鱼自述》:https : //github.com/knsv/mermaid/blob/master/README.md。但是,当我查看代码时,它实际上是流程图的图片,而不是代码的呈现。所以也许我要问的是不可能的?
将不胜感激!
我希望在将一串过滤条件传递给data.table时提供一些帮助.我已经尝试了解析和评估的所有方式,似乎无法弄明白
我尝试使用iris数据集重新创建一个示例:
iris <- data.table(iris)
vars <- 'setosa'
filter <- 'Species == vars & Petal.Length >= 4'
data <- iris[filter,
list(sep.len.tot = sum(Sepal.Length), sep.width.total = sum(Sepal.Width)),
by = 'Species']
Run Code Online (Sandbox Code Playgroud)
因此,过滤器字符串中包含一个变量变量(基于循环而变化).我正在尝试根据过滤字符串过滤数据.
是否有一个data.table特定的方法来评估字符串?
希望有道理!
我使用R中的data.table包来经常汇总数据.在这种特殊情况下,我只计算给定列组的数据集中出现的次数.但我无法合并循环来动态执行此操作.
通常,我会总结这样的数据.
data <- data.table(mpg)
data.temp1 <- data[, .N, by="manufacturer,class"]
data.temp2 <- data[, .N, by="manufacturer,trans"]
Run Code Online (Sandbox Code Playgroud)
但现在我想循环遍历我的数据集和绘图中感兴趣的列.我不想一遍又一遍地重复代码,而是想把它放在for循环中.像这样的东西:
columns <- c('class', 'trans')
for (i in 1:length(columns)) {
data.temp <- data[, .N, by=list(manufacturer,columns[i])]
#plot data
}
Run Code Online (Sandbox Code Playgroud)
如果我只想要感兴趣的列,我可以在循环中执行此操作并且它可以工作:
data.temp <- data[, .N, by=get(columns[i])]
Run Code Online (Sandbox Code Playgroud)
但是如果我想放入一个静态列名,就像制造商一样,那就打破了.我似乎无法弄清楚如何混合静态列名称和动态列名称.我环顾四周但找不到答案.
不胜感激任何想法!
r ×4
data.table ×3
mermaid ×2
diagrammer ×1
gantt-chart ×1
github ×1
markdown ×1
r-markdown ×1
readme ×1