1、讀取資料
lesson8.txt檔案放在工作目錄下
方法1:使用read.table
w=read.table("lesson8.txt",sep="\t")
y<-matrix(as.matrix(w),nrow(w)/3,3,byrow=true)
y<-as.data.frame(y)
colnames(y)<-c("time","ip","pv")
ip=as.numeric(y$ip)
pv=as.numeric(y$pv)
tmp<-read.table("lesson8.txt",sep="\t")
data<-matrix(as.matrix(tmp),nrow(tmp)/3,3,byrow=true)
colnames(data)<-c("time","ip","pv")
方法2:使用readlines
sys.setlocale("lc_time", "c") 是時間顯示設定,類似打date format;strptime是文字型轉日期型函式
sys.setlocale("lc_time", "c") #時間顯示設定為c語言
a=readlines("lesson8.txt")
a=na.omit(a) #去除na
dim(a)=c(3,83) #gsub("hkt","",a[1,]) 替換a[1,]裡的hkt為空
ip=as.numeric(a[2,]);pv=as.numeric(a[3,])
date=as.date(gsub("hkt","",a[1,]), "%a %b %d %h:%m:%s %y")
library(ggplot2)
qplot(x=date,y=ip/pv,geom=c("line"),color=date)
方法3:使用scan
x=scan("lesson8.txt",sep="\n",what=list("","",""))
data=data.frame('date'=as.character(c(x[1],recursive= true)),
'ip'=as.numeric(c(x[2],recursive = true)),
'pv'=as.numeric(c(x[3],recursive = true)))
最後的結果是得到data.frame格式的資料
2、轉換資料
輸入example(as.date),就可以看到如下命令,這段命令幫助轉換時間格式:
lc <- sys.getlocale("lc_time")
sys.setlocale("lc_time","c")
對於時間資料格式,轉換時一定要準確,否則會轉換成「na」
方法:使用as.date和strptime
date=as.date(strptime(data[,1], "%a %b%d %h:%m:%s hkt %y"))
對於另外的ip和pv資料,使用as.numeric轉換
ip=as.numeric(data[,2])
pv=as.numeric(data[,3])
3、畫圖
library(ggplot2)
(1)畫pv隨時間變化
qplot(date, pv,geom =c("line","point"), main="pv line",xlab ="date", ylab = "pv")
(2)畫ip隨時間變化
qplot(date, ip,geom =c("line","point"), main="ip line",xlab ="date", ylab = "ip")
(3)畫pv/ip隨時間變化
qplot(date, pv/ip,geom =c("line","point"), main="pv/ip line",xlab ="date", ylab = "pv/ip")
線性**繪圖
model <- lme(height ~ age, data = oxboys, random = ~ 1 + age | subject)
oplot <- ggplot(oxboys, aes(age, height, group = subject)) + geom_line()
age_grid <- seq(-1, 1, length = 10)
subjects <- unique(oxboys$subject)
preds <- expand.grid(age = age_grid, subject = subjects)
preds$height <- predict(model, preds)
oplot + geom_line(data = preds, colour = "#3366ff", size= 0.4)
oxboys$fitted <-predict(model)
oxboys$resid <-with(oxboys, fitted- height)
oplot %+% oxboys +aes(y = resid) +geom_smooth(aes(group=1))
model2 <- update(model,height ~ age + i(age ^ 2))
oxboys$fitted2 <-predict(model2)
oxboys$resid2 <-with(oxboys, fitted2 -height)
oplot %+% oxboys + aes(y =resid2) +geom_smooth(aes(group=1))
資料視覺化 R語言實現網路視覺化
最近在學習貝葉斯網路,當用k2演算法建立了貝葉斯網路結構之後,用r語言工具可以很清楚地實現網路視覺化。例如,在鐵達尼號資料集中,最後生成的貝葉斯網路結構如下 age,portembarked,numparentschildren,age numparentschildren,passengercla...
R語言之資料視覺化
不同領域的資料科學家需要的技能是有所側重的 變數間的關係 對應不同的視覺化方法和統計分析方法 兩個數值變數 兩個分類變數 乙個數值變數 乙個分類變數 with airquality,plot wind,temp,main wind and temp in nyc type n with subset...
《R資料視覺化手冊》 導讀
r資料視覺化手冊 幾年前讀研時我開始用r,主要用來分析我在科研工作中收集到的資料。我使用r首先是想擺脫spss這樣的統計軟體的禁錮,即嚴格的環境和死板的分析。更何況,r是免費的,所以我用不著說服別人為我購買一套這樣的軟體 這對乙個窮研究生來說是相當的重要!此後,隨著我對r的了解不斷深入,我才發現原來...