我可以从两个数据帧在igraph中构建图形对象,而不会出现问题。当我尝试在tidygraph中执行相同操作时,会出现错误。让我示范一下。首先,我加载源数据(来自留言板的数据):
library(dplyr)
library(tidyr)
library(tidygraph)
library(lubridate)
library(iterpc)
library(igraph)
df <- data.frame(author_id = c(2,4,8,16,4,8,2,256,512,8),
topic_id = c(101,101,101,101,301,301,501,501,501,501),
time = as.POSIXct(c("2011-08-16 20:20:11", "2011-08-16 21:10:00", "2011-08-17 06:30:10",
"2011-08-17 10:08:32", "2011-08-20 22:23:01","2011-08-20 23:03:03",
"2011-08-25 17:05:01", "2011-08-25 19:15:10", "2011-08-25 20:07:11",
"2011-08-25 23:59:59")),
vendor = as.logical(c("FALSE", "FALSE", "TRUE", "FALSE", "FALSE",
"TRUE", "FALSE", "FALSE", "FALSE", "TRUE")))
Run Code Online (Sandbox Code Playgroud)
接下来,我创建一个唯一的节点列表(将消息发布在留言板上的人):
node <- df %>% distinct(author_id, vendor) %>% rename(id = author_id) %>% mutate(vendor = as.numeric(vendor))
Run Code Online (Sandbox Code Playgroud)
然后,我的边缘列表(通过讨论线程(主题)联系的人):
edge <- df %>%
group_by(topic_id) %>%
do(data.frame(getall(iterpc(table(.$author_id), 2, replace =TRUE)))) %>%
filter(X1 != X2) %>% rename(from …Run Code Online (Sandbox Code Playgroud) 我创建一个节点列表如下:
name <- c("Joe","Frank","Peter")
city <- c("New York","Detroit","Maimi")
age <- c(24,55,65)
node_list <- data.frame(name,age,city)
node_list
name age city
1 Joe 24 New York
2 Frank 55 Detroit
3 Peter 65 Maimi
Run Code Online (Sandbox Code Playgroud)
然后我创建一个边缘列表如下:
from <- c("Joe","Frank","Peter","Albert")
to <- c("Frank","Albert","James","Tony")
to_city <- c("Detroit","St. Louis","New York","Carson City")
edge_list <- data.frame(from,to,to_city)
edge_list
from to to_city
1 Joe Frank Detroit
2 Frank Albert St. Louis
3 Peter James New York
4 Albert Tony Carson City
Run Code Online (Sandbox Code Playgroud)
请注意,节点列表和边列表中的名称不会重叠100%.我想创建一个包含所有名称的主节点列表,同时捕获城市信息.这是我的dplyr尝试这样做:
new_node <- edge_list %>%
gather("from_to", "name", from, to) %>% …Run Code Online (Sandbox Code Playgroud) 我正在查看旧扫描论文中的一些 Fortran 代码。扫描质量不太好,所以我可能复印错了。我尝试使用在线 Fortran 编译器运行它,但它失败了。由于不熟悉 Fortran,我想知道是否有人可以指出语法没有意义的地方?该代码来自一篇关于沉积物动力学的论文:
Komar, PD 和 Miller, MC,1975。关于波浪和单向流下沉积物运动阈值的比较以及阈值实际评估的讨论:答复。沉积研究杂志,45(1)。
PROGRAM TSHOLD
REAL LI, LO
G = 981.0
PIE = 3.1416
RHOW = 1.00
READ (6O,1) DIAM, RHOS
1 FORMAT (2X, F6.3,2X, F5.3)
IF(DIAM .LT. 0.05) GO TO 5
A = 0.463 * PIE
B = 0.25
GO TO 7
5 A = 0.21
B = 0.50
7 PWR = 1.0 / (2.0 - B)
FAC = (A * (RHOS - RHOW) * G/(RHOW * PIE**B))**PWR
FAC1 = FAC …Run Code Online (Sandbox Code Playgroud)