I'm trying to build a network plot in ggplot. Two things: 1) I need to put the nodes at specific (x, y) values. This isn't a problem. 2) The network plot is directed but I need to be able to show differences in going from, say, Node B to Node A than from Node A to Node B.
It's that latter bit I'm having trouble with. Basically I need to offset two lines running parallel between nodes. Ultimately the lines' …
试图在R数据框中拆分一个列,该数据框在变量中有多个空格,但我想在第一个空格上拆分.示例数据框:
df <- data.frame(game = c(1, 2, 3, 4, 5, 6), date = c("Monday Apr 3", "Tuesday Apr 4", "Wednesday Apr 5", "Thursday Apr 6", "Friday Apr 7", "Saturday Apr 8"))
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用tidyr在第一个空格中拆分df'date'列,以便日期在它自己的列中:
game day date
1 1 Monday Apr 3
2 2 Tuesday Apr 4
3 3 Wednesday Apr 5
4 4 Thursday Apr 6
5 5 Friday Apr 7
6 6 Saturday Apr 8
Run Code Online (Sandbox Code Playgroud)
以上是问题所在.以下是我尝试过的,出了什么问题.
通过tidyr文档,'sep'的默认值是'一个匹配任何非字母数字值序列的正则表达式.' 所以如果我这样做:
df %>% separate(date, c("day", "date"))
Run Code Online (Sandbox Code Playgroud)
这将在空间上分裂,但它在两个空间上分裂(例如'星期一'之后的空间和'星期一4月3日''4月'之后的空格).结果是:
game day date
1 1 Monday …Run Code Online (Sandbox Code Playgroud) 我在使用 rgl 3d 绘图包时遇到一些问题。
\n\n我正在尝试绘制一些线段。我的数据排列在一个名为“标记”的数据框中,有六列,一列对应起始 x、y 和 z 值,一列对应结束 x、y 和 z 值。
\n\nstartX startY startZ endX endY endZ\n69.345 45.732 20 115 39.072 1.92413\n80.270 38.480 30 175 44.548 0.36777\n99.590 33.596 20 175 35.224 0.06929\n32.120 41.218 20 115 39.294 2.81424\n11.775 37.000 30 175 35.890 1.38047\n76.820 44.104 22 115 44.992 4.14674\n85.790 23.384 18 115 36.112 0.40508\n80.040 17.464 20 175 31.080 2.59038\n103.615 38.850 22 115 39.220 3.18201\n41.200 31.006 30 175 36.260 3.48049\n88.665 43.956 30 115 39.738 0.50635\n109.365 23.976 20 175 33.374 …Run Code Online (Sandbox Code Playgroud) 我有一些x和y坐标,我试图绘制成线段.我从我认为应该起作用的地方得到一些意想不到的行为.
对于每个段,有一组起始坐标(x1,y1)和一组坐标(x2,y2).它是一个数据框(称为'df'),如下所示:
x1 y1 x2 y2
34.9 67.9 62.5 68.8
66.8 80.9 58.8 88.4
58.8 88.4 66.0 68.4
64.0 65.8 56.2 62.6
56.2 62.6 56.6 75.3
54.5 70.0 72.9 51.3
Run Code Online (Sandbox Code Playgroud)
细分不一定是连续的.我的意思是,有时一段的结尾x,y是下一段的起点; 其他时候不是.
所以我尝试绘制它们
lines(c(df$x1, df$x2), c(df$y1, df$y2))
Run Code Online (Sandbox Code Playgroud)
我得到以下内容,这根本不是我想要的.绘制了额外的细分,它们都是连接起来的.这是错的.看起来它正在绘制来自6组起点/终点的11或12段.

现在,我可以一步一步地绘制它们:
lines(c(df$x1[1], df$x2[1]), c(df$y1[1], df$y2[1]))
lines(c(df$x1[2], df$x2[2]), c(df$y1[2], df$y2[2]))
lines(c(df$x1[3], df$x2[3]), c(df$y1[3], df$y2[3]))
Etc.
Run Code Online (Sandbox Code Playgroud)
我得到了下面的情节,这就是我所追求的.
那么有人可以帮助解释它在第一个实例中发生的事情,使它与第二个实例不同吗?有没有办法在一行中完成所有操作而无需单步执行或编写循环的函数?