R 使用可变长度分类数据打印行

R 使用可变长度分类数据打印行,r,R,我有一些数据表示某个事件发生的日期 集群中的节点。当前的数据如下所示: 07-Jan-2013: node025 node061 14-Jan-2013: node025 node034 node061 21-Jan-2013: node025 node034 node050 node061 28-Jan-2013: node025 node034 node061 04-Feb-2013: node025 node034 node061 11-Feb-2013: node025 node034

我有一些数据表示某个事件发生的日期 集群中的节点。当前的数据如下所示:

07-Jan-2013: node025 node061
14-Jan-2013: node025 node034 node061
21-Jan-2013: node025 node034 node050 node061
28-Jan-2013: node025 node034 node061
04-Feb-2013: node025 node034 node061
11-Feb-2013: node025 node034 node061
18-Feb-2013: node034
25-Feb-2013: node034
11-Mar-2013: node025
我想知道R中的什么样的图能让我画出 将节点作为y轴上与日期相对的因子,以及输入日期的形式 应该在

我尝试搜索“可变长度行”和“多个y值”,但是 找不到我要找的东西。有什么想法吗


干杯这就是你要找的吗?使用fill=T的read.table,然后过滤掉空白

然后融化数据使其平坦

df<-read.table( text="07-Jan-2013: node025 node061
14-Jan-2013: node025 node034 node061
21-Jan-2013: node025 node034 node050 node061
28-Jan-2013: node025 node034 node061
04-Feb-2013: node025 node034 node061
11-Feb-2013: node025 node034 node061
18-Feb-2013: node034
25-Feb-2013: node034
11-Mar-2013: node025", fill=T)

require(reshape2)
flatdata<-melt(df,id.vars="V1")

# edit added the date format
ggplot(flatdata[flatdata$value != "",])+geom_point(aes(x=value,y=as.Date(V1, format="%d-%b-%Y"),color=variable),size=5,alpha=0.9) + coord_flip()

df这就是你要找的吗?使用fill=T的read.table,然后过滤掉空白

然后融化数据使其平坦

df<-read.table( text="07-Jan-2013: node025 node061
14-Jan-2013: node025 node034 node061
21-Jan-2013: node025 node034 node050 node061
28-Jan-2013: node025 node034 node061
04-Feb-2013: node025 node034 node061
11-Feb-2013: node025 node034 node061
18-Feb-2013: node034
25-Feb-2013: node034
11-Mar-2013: node025", fill=T)

require(reshape2)
flatdata<-melt(df,id.vars="V1")

# edit added the date format
ggplot(flatdata[flatdata$value != "",])+geom_point(aes(x=value,y=as.Date(V1, format="%d-%b-%Y"),color=variable),size=5,alpha=0.9) + coord_flip()

df
df
df堆叠条形图可以做到这一点

以下是您的数据:

lines <- readLines(
  tc <- textConnection("07-Jan-2013: node025 node061
  14-Jan-2013: node025 node034 node061
  21-Jan-2013: node025 node034 node050 node061
  28-Jan-2013: node025 node034 node061
  04-Feb-2013: node025 node034 node061
  11-Feb-2013: node025 node034 node061
  18-Feb-2013: node034
  25-Feb-2013: node034
  11-Mar-2013: node025")
); close(tc)

堆叠条形图可以做到这一点

以下是您的数据:

lines <- readLines(
  tc <- textConnection("07-Jan-2013: node025 node061
  14-Jan-2013: node025 node034 node061
  21-Jan-2013: node025 node034 node050 node061
  28-Jan-2013: node025 node034 node061
  04-Feb-2013: node025 node034 node061
  11-Feb-2013: node025 node034 node061
  18-Feb-2013: node034
  25-Feb-2013: node034
  11-Mar-2013: node025")
); close(tc)

在迄今为止的三种解决方案中,这最符合我的要求,因为很容易看到给定节点的事件发生时间。唯一的小问题是颜色不能传达任何信息。理想情况下,与给定节点对应的数据点都是相同的颜色。还有一个小问题:y轴上的顺序是如何确定的?如果数据可以按字母顺序排列就好了。我想出了一种排序的方法:
flatdata$value-factor(flatdata$value,levels=sort(levels(flatdata$value))
我想可能有更好的方法。那应该是:
flatdata$value这三种解决方案到目前为止,这最符合我的要求,因为很容易看到给定节点的事件何时发生。唯一的小问题是颜色不能传达任何信息。理想情况下,与给定节点对应的数据点都是相同的颜色。还有一个小问题:y轴上的顺序是如何确定的?如果数据可以按字母顺序排列就好了。我找到了一种排序方法:
flatdata$value-factor(flatdata$value,levels=sort(levels(flatdata$value))
我想可能有更好的方法。那应该是:
flatdata$value
library(ggplot2)

ggplot(node_data, aes(date, fill = node)) +
  geom_bar(binwidth = 1)