最近寫的**基本是r指令碼了,越發感到r的強大。現在用它做一些資料分析以及進行一些模擬。
收幾個常的函式在這裡。
i. 將所有為0的資料替換為100
res2$valuex[res2$valuex %in% 0]
ii.將na替換為0
res2$valuex[is.na(res2$valuex)]
cdf(累積分布函式)是乙個好工具,可以清楚的了解資料的分布情況。
showcdf
}效果:
*配合下面的語句可以顯示出佔具體概率值的分位點, 如:
y將取出data中佔50%及99%的分位點。使用方法:library('rmysql')
readdatafrommysql
print(sqlstatement)
data=dbgetquery(con, sqlstatement)
dbdisconnect(con)
return(data)
}*對於sqlite或其它的database可以對應變換。
對於header first資料分析中第3章最優化問題的求解, 需要在系統上安裝lpsolve包及r的工具包:lpsolve和lpsolveapi。
library(lpsolve)
f2.obj
f2.con
f2.dir
f2.rhs
lp('max',f2.obj,f2.con,f2.dir,f2.rhs)$solution
參考:#main entry
args
if(length(args)<1) else
這樣在執行時可以類似如下方式:
rscript ***.r 2014-01-13
removeoutdata
filterdata
ggplot2提供非常強大的功能,如果plot系列需要多次繪製,ggplot2基本可以一句搞定,非常值得學習應用。
放一張在這裡供參考:
效果:
datacluster
效果:
*資料視覺化可以幫助分析問題,比如分析載入流程:
一些從檔案載入的frame, 其數列可能是factors, 不能直接轉換為numeric, 這時就需要下面的函式了:
asnumeric
上面的函式使用比較簡單:
data.x = asnumeric(data.x)
關鍵在於要先轉為字串,才能轉為正確的數字。
*轉換前,如果有一些異常值,比如null, 記得要用第一條轉換一下,或者過濾掉。
如果資料中含有逗號千分位,可以試下這個:
asnumeric2
以欄位名的取值會提高應用的靈活性,如下所示:
as.matrix(res[c('data')]) 等價於res$data
這種用法可以解決以列號指定資料時無法應對資料變化的問題。比如:
keys
for(key in keys)
datadistributionmn
sskew
kurt
return(c(n=n,mean=m,stdev=s,skew=skew,kurtosis=kurt))
}
使用aggregate函式可以出色地完成一些分組統計的工作,可惜無法直接使用length。下面是通過自定義乙個函式來實現只對唯一值計數。
funres
另乙個比較好用的是plyr工具包的summarise函式:
library(plyr)
sdata
print('result of ddply function:')
print(sdata)
r中的字串操作常常是使用正規表示式完成。 去除字串首尾的空格:
trim
下面是使用grep查詢字串和分隔字串的示例:
strval
if(length(grep('^max-age',strval))>0)
下面是乙個轉換gmt日期字串為乙個posix日期數值,以秒為單位:
datetonum
後面的格式化字串必須和傳入字串相符。
ASP中幾個有用的函式
原出處 江都資訊網論壇 function deletefile filename 刪除檔案 if filename then set fso server.createobject scripting.filesystemobject if fso.fileexists filename then ...
mysql中幾個有用的函式
1.from unixtime 作用 將mysql中以int 11 儲存的時間以 yyyy mm dd 格式來顯示。例 作用 將str1,str2.連線為字串。如有任何乙個引數為null 則返回值為 null。例 update video set playlink concat playlink,f...
php,幾個有用的函式介紹
strtr 函式轉換字串中 陣列中特定的字元。arr array hello hi world earth echostrtr hello world arr 輸出 hi earththe file put contents writes a string to a file.file put co...