从R数据帧中选择某些行

时间:2012-02-02 15:37:59

标签: r select dataframe

我有这个巨大的数据框,它有服务器名,日期,CPU,内存作为标题。有多个服务器名称。我希望能够通过日期列选择某个服务器名称顺序并创建时间严重图表

这是数据框的一小部分:

     Hostname                Date     5 60 61 CPUAVG CPUAVG+Sev CPUMaximum MemoryAVG
1 server1 2012-01-29 01:00:00 23.79 NA NA   2.33       0.72       2.33     23.76
2 server1 2012-01-29 02:00:00 23.91 NA NA   2.86       2.38       2.86     23.82
3 server1 2012-01-29 03:00:00 25.65 NA NA   6.25       9.59       6.25     24.85
4 server2 2012-01-29 04:00:00 26.30 NA NA  18.41      31.09      18.41     25.87
5 server3 2012-01-29 05:00:00 24.33 NA NA   1.92       0.42       1.92     24.24
6 server3 2012-01-29 06:00:00 24.40 NA NA   2.65       1.79       2.65     24.31

2 个答案:

答案 0 :(得分:3)

结帐'子集'命令。

thisServer <- subset (servers, Hostname="server1")

然后订购行

thisServerSorted <- thisServer[order(thisServer$Date),]

然后你可以从那里进行绘图。

答案 1 :(得分:2)

#convert Date to a date field (if needed)
library(lubridate)
servers$Date <- ymd_hms(servers$Date)
#select the servers you need
SelectedServers <- subset(servers, Hostname %in% c("server1", "server3"))
library(ggplot2)
#no need for sorting with ggplot2
ggplot(SelectedServers, aes(x = Date, y = CPUAVG, colour = Hostname)) + geom_line()
ggplot(SelectedServers, aes(x = Date, y = CPUAVG)) + geom_line() + facet_wrap(~Hostname)