We don't have your data set, but here's one that approximates it:
set.seed(1234)
df <- data.frame(link = sample(30, 10) + 412300040,
from_node = sample(10, 10, T) + 100184,
to_node = sample(10, 10, T) + 100184)
df
#> link from_node to_node
#> 1 412300068 100188 100189
#> 2 412300056 100186 100192
#> 3 412300066 100191 100188
#> 4 412300062 100190 100192
#> 5 412300045 100194 100187
#> 6 412300052 100190 100188
#> 7 412300055 100188 100194
#> 8 412300049 100192 100189
#> 9 412300070 100188 100186
#> 10 412300046 100188 100192
If you simply want to create a graph and calculate edge betweenness using igraph, you can do:
library(igraph)
ig <- graph_from_data_frame(df[c(3, 2, 1)])
edge_betweenness(ig)
#> [1] 2.5 2.0 6.0 1.5 4.0 4.5 6.0 2.5 3.0 2.0
To plot with edges weighted according to betweenness, you could do:
plot(ig, edge.width = edge_betweenness(ig), edge.label = df$link)

However, I think if you want to plot graphs, you should check out the tidygraph and ggraph packages, which allow easy manipulation of graphs, and highly customizable plots of graphs respectively. Here's how you could plot your graph with edges weighted according to betweenness:
library(tidygraph)
library(ggraph)
as_tbl_graph(df[c(3, 2, 1)]) %>%
activate(edges) %>%
mutate(betweenness = centrality_edge_betweenness()) %>%
ggraph() +
geom_edge_diagonal(aes(edge_width = betweenness, label = link),
angle_calc = "along", alpha = 0.5, vjust = -1,
color = "lightblue") +
geom_node_circle(aes(r = 0.2), fill = "lightblue", color = "navy") +
geom_node_text(aes(label = name)) +
coord_equal() +
theme_graph()
