R讀取資料 轉換時間 視覺化例項

2021-07-12 05:51:18 字數 2757 閱讀 5687

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的了解不斷深入,我才發現原來...