02、R基础知识
{
x <- 1.5;print(x)
y1 <- c(1.5,2.3,8.6,7.4,9.2);print(y1)
y2 <- c("MSFT","GOOG","AAPL");print(y2)
y3 <- c(T,F,T,T,F,F);print(y3)
3.1415926 -> z;print(z)
assign("t",1.414);print(t)
szSymbolName <- 'GSPC'
assign(szSymbolName,1860);print(GSPC)
cat("x = ",x,"\n",sep="")
ls()
rm(GSPC)
rm(list=ls())
a <- 1
if(a==1) print("a==1")
a <- 2
if(a > 1) print("a > 1") else print("a <= 1")
a <- 3
if( a == 1)
{
print("a == 1")
}else
{
print("a != 1")
}
a <- 4
if( a == 1)
{
print("a == 1")
}else if( a == 2)
{
print("a == 2")
}else
{
print("Not 1 & 2")
}
a <- 2
print( ifelse(a > 1,3.1416,1.414) )
n <- 1
switch(n,
print("选项1"),
print("选项2"),
print("选项3"),
print("选项4"),
print("选项5")
)
iTotal <- 0
for(i in 1:100)
{
iTotal <- iTotal + i
}
cat("1-100的累加和为:",iTotal,"\n",sep="")
szSymbols <- c("MSFT","GOOG","AAPL","INTL","ORCL","SYMC")
for(SymbolName in szSymbols)
{
cat(SymbolName,"\n",sep="")
}
i <- 1
iTotal <- 0
while(i <= 100)
{
iTotal <- iTotal + i
i <- i + 1
}
cat("1-100的累加和为:",iTotal,"\n",sep="")
i <- 1
iTotal <- 0
repeat
{
iTotal <- iTotal + i
i <- i + 1
if(i <= 100) next else break
}
cat("1-100的累加和为:",iTotal,"\n",sep="")
"%g%" <- function(x,y)
{
print(x+y)
print(x-y)
print(x*y)
print(x/y)
}
3%g%5
?print
example(print)
?quantmod
apropos("print*")
demo(graphics)
}
{
x <- c(1,2,3,4,5);print(x)
x <- 1:10;print(x)
x <- seq(from=1,to=10);print(x)
x <- seq(from=1,to=10,by=2);print(x)
x <- seq(from=1,to=10,length.out=50);print(x)
s <- as.Date("2014-1-1")
e <- as.Date("2014-4-1")
dtVec <- seq(from=s,to=e,by=1)
print(dtVec)
print(class(dtVec))
x <- rep(1,10);print(x)
x <- rep("USD",5);print(x)
y <- sample(x=1:100,size=10,replace=F);print(y)
y <- sample(x=c(0,1),size=20,replace=T);print(y)
x <- rnorm(n=10,mean=100,sd=20);print(x)
x <- 1:20
dim(x) <- c(5,4)
print(x)
x <- array(3.14,dim=c(5,4))
print(x)
x <- array(rnorm(40,10,5),dim=c(5,4,2))
print(x)
print(length(x))
df <- data.frame(symbols=c("MSFT","KO","CSCO"),price=c(40.40,40.56,23.02),currency=rep("USD",3),country=rep("USA",3),type=rep("STOCK",3))
df
print(class(df))
cat("df数据框行数为:",nrow(df),"\ndf数据框列数为:",ncol(df),"\n",sep="")
cat("df数据框总元素数量为:",length(df),"\n",sep="")
lst <- list(symbols=c("MSFT","KO","CSCO"),price=c(40.40,40.56,23.02),currency="USD",country="USA",type="STOCK" )
lst
print(length(lst))
dtVar <- Sys.Date()
print(class(dtVar));print(dtVar)
dtVar <- Sys.time()
print(class(dtVar));print(dtVar)
dtVar <- as.Date("2014-4-17",tz="UTC")
print(class(dtVar));print(dtVar)
dtVar <- as.Date("2014/4/17",tz="CST")
print(class(dtVar));print(dtVar)
t <- ISOdate(2014,4,17)
print(class(t));print(t)
t <- ISOdatetime(2014,4,17,15,28,48)
print(class(t));print(t)
d <- as.Date("2014-4-17")
as.integer(d)
julian(d)
d <- Sys.time()
p <- as.POSIXlt(d)
print(class(p));print(mode(p));print(p)
print(p$year+1900)
print(p$mon+1)
print(p$mday)
print(p$yday+1)
print(p$wday)
}
{
x <- 1:10;print(x)
print(x[5])
print(x[-5])
print(x[c(1,5,8)])
print(x[1:5])
print(x[1:5*2])
print(x[ x > 5 ])
print(mean(x))
print(x[ x > mean(x) ] )
names(x) <- LETTERS[1:10];print(x)
print(x["A"])
View(x)
print(length(x))
x <- 1:10;print(x)
x[5] <- 100;print(x)
x <- 1:10;print(x)
x <- c(x,11,12,13);print(x)
x <- 1:10;print(x)
x[length(x)+1] <- 11;print(x)
x <- 1:10;print(x)
y <- append(x,11:13,after=0);print(x);print(y)
y <- append(x,11:13,after=5);print(x);print(y)
lst <- list(symbols=c("MSFT","KO","CSCO"),price=c(40.40,40.56,23.02),currency="USD",country="USA",type="STOCK" )
print(lst[1])
print(lst$symbols)
print(lst[[1]])
print(lst$symbols[1])
names(lst)
lst$TradeDate <- as.Date(rep("2014-4-17",3))
names(lst)
z <- list(plantform = rep("FXCM",3))
lst <- append(lst,z,after=0)
names(lst)
str(lst)
names(lst)
lst$price <- NULL
names(lst)
data(EuStockMarkets)
print(head(EuStockMarkets))
print(class(EuStockMarkets))
print(summary(EuStockMarkets))
print(EuStockMarkets[,"DAX"])
print(EuStockMarkets[,1])
View(EuStockMarkets)
rowTotal <- rowSums(EuStockMarkets)
EuStockMarkets <- cbind(EuStockMarkets,rowTotal)
View(EuStockMarkets)
colTotal <- colSums(EuStockMarkets)
EuStockMarkets <- rbind(EuStockMarkets,colTotal)
print(tail(EuStockMarkets))
df <- data.frame(symbols=c("MSFT","KO","CSCO"),price=c(40.40,40.56,23.02),currency=rep("USD",3),country=rep("USA",3),type=rep("STOCK",3))
df
print(class(df))
print(df[1,])
print(df[,2])
print(df$price)
attach(df)
print(currency)
print(type)
detach(df)
}
{
ls()
ls.str()
x <- 1:100
print(which.max(x))
print(which.min(x))
x <- c(1,2,5,2,1,5)
print(which.max(x))
print(which.min(x))
print(max(x))
print(min(x))
x <- c(3,5,2,8,6,9,7,4)
print(sort(x))
print(sort(x,decreasing=T))
szDate <- c("2014-1-1","2014-3-1","2014-3-18","2014-2-14","2014-4-26","2014-4-1","2014-1-24")
t <- as.Date(szDate)
t <- sort(t);print(t)
x <- c(3,5,2,8,6,9,7,4)
print(x);print(rev(x))
print(t);print(rev(t))
x <- c(1,-1,1,1,1,-1,-1,1,1,1,1,1,1,1)
y <- rle(x)
print(mode(y))
str(y)
x <- rnorm(n=10,mean=10,5)
print(x)
breaks <- c(-20,-10,0,10,20)
y <- cut(x,breaks)
print(summary(y))
x <- c(2,5,1,4,6,4,3)
print(match(x,4))
print(match(x,c(4,5)))
print(choose(5,2))
print(factorial(3))
cat("sign()函数运算结果:",sign(0),",",sign(3.14159),",",sign(-1024),sep="")
x <- c(1,2,NA,4,5,NA,7,6,8,9)
y <- na.omit(x);print(y);
print(length(y));print(class(y))
dim(x) <- c(5,2)
print(x)
print(na.omit(x))
x <- c(1,2,NA,4,5,NA,7,6,8,9)
y <- na.omit(x)
na.fail(x)
na.fail(y)
dim(x) <- c(2,5)
na.fail(x)
x <- c(1,2,NA,2,5,NA,4,3,4,9)
print(unique(x))
data(airquality)
head(airquality)
newset <- subset(airquality,Temp > 80 & Month == 5,select = c(Ozone:Day))
head(newset)
}
{
x <- 1:100
y <- 100 + x*5
windows(300,200);plot(y)
windows(300,200);plot(y,type="l")
x <- rnorm(100,10,5)
plot(x)
x <- rnorm(1000,30,10)
hist(x)
x <- rnorm(1000,30,10)
hist(x,freq=F)
lines(density(x),col="blue")
box()
x <- rnorm(100,5,1)
stem(x)
x <- rnorm(10,30,10);barplot(x)
box()
x <-1:5;pie(x,col=rainbow(5))
box()
x <-rnorm(10,10,3);boxplot(x)
data(iris)
sunflowerplot(iris[,3:4])
data(iris)
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])
x <- rnorm(500,10,5);qqnorm(x)
curve(sin, -2*pi, 2*pi, xname = "t")
x <- 1:50
y <- rnorm(50,10,5)
plot(x,y,type="n",xlab="数据索引",ylab="随机数点",xlim=c(1,50),ylim=c(-20,20),main="实验图",sub="随机数绘图")
points(x,y,col="blue")
lines(x,y,col="red")
text(5,max(y),"随机数据点")
mtext("横轴下方文字",side=1)
mtext("纵轴左方文字",side=2)
mtext("横轴上方文字",side=3)
mtext("纵轴右方文字",side=4)
segments(10,10,50,-10)
arrows(10,-10,40,20,angle=15,code=1)
abline(-20,.5)
abline(h=0,col="red")
legend(0,max(y),"随机点连线")
x <- 1:50
y <- rnorm(50,10,5)
plot(x,y,type="n",xlab="数据索引",ylab="随机数点",xlim=c(1,50),ylim=c(-20,20),main="实验图")
print(locator(3,type="p"))
rect(5,5,20,20)
polygon(c(20,10,30,40,45),c(-10,0,15,4,-10))
windows()
plot(1:10)
rect(1, 5, 3, 7, col="blue")
savePlot("test01", type="jpg",device=dev.cur(),restoreConsole=TRUE)
jpeg(file="myplot.jpeg")
plot(1:10)
rect(1, 5, 3, 7, col="blue")
dev.off()
}
{
library(quantmod)
getSymbols("^GSPC",src="yahoo",from="1994-1-1",to=Sys.Date())
print(head(GSPC));print(tail(GSPC))
print(class(GSPC))
print(is.OHLC(GSPC))
print(is.OHLCV(GSPC))
getSymbols("AAPL",src="yahoo",from="1900-1-1",to=Sys.Date())
print(head(AAPL));print(tail(AAPL))
setSymbolLookup(CJSY=list(name="0001.HK",src="yahoo"))
getSymbols("CJSY",from="1900-1-1",to=Sys.Date())
print(head(CJSY));print(tail(CJSY))
szSymbols <- c("MSFT","ORCL","GOOG","INTL","AAPL","CSCO","SYMC","TSLA")
getSymbols(szSymbols,src="yahoo",from="2008-1-1",to=Sys.Date())
getSymbols("^TNX",src="yahoo",from="1900-1-1",to=Sys.Date())
print(head(TNX));print(tail(TNX))
getSymbols("ACWI",src="yahoo",from="1900-1-1",to=Sys.Date())
print(head(ACWI));print(tail(ACWI))
getFX("USD/JPY")
print(head(USDJPY));print(tail(USDJPY))
getSymbols("EUR/USD",src="oanda")
print(head(EURUSD));print(tail(EURUSD))
getSymbols("EUR/USD",src="oanda",from="2005-01-01")
tmp <- getQuote("AAPL");print(tmp);print(class(tmp))
getFinancials("TSLA")
viewFin(TSLA.f)
viewFin(TSLA.f,"CF","A")
getDividends("AAPL")
getSplits("BIDU")
getSymbols("BIDU", from="2005-01-01", src="yahoo")
head(BIDU)
head(BIDU.a <- adjustOHLC(BIDU))
head(BIDU.uA <- adjustOHLC(BIDU, use.Adjusted=T))
head(cbind(OpCl(BIDU),OpCl(BIDU.a),OpCl(BIDU.uA)))
head(cbind(ClCl(BIDU),ClCl(BIDU.a),ClCl(BIDU.uA)))
BIDU.OPT <- getOptionChain("BIDU")
print(class(BIDU.OPT)) # 获取的期权链数据保存在列表中
print(BIDU.OPT)
print(BIDU.OPT$symbol)
print(BIDU.OPT$calls)
}
09、金融数据文件读写
{
getSymbols("^GSPC",src="yahoo",from="2004-1-1",to="2014-1-1")
tail(GSPC)
save(GSPC,file="GSPC.RDATA")
rm(GSPC)
tail(GSPC)
load("GSPC.RDATA")
tail(GSPC)
TRData <- read.csv("TradeRecord.csv",header=T,skip=0)
head(TRData)
write.csv(TRData,file="WriteTR.csv")
write.csv(TRData,file="WriteTR.csv",row.names=F)
TRData <- read.table("clipboard", header = T, sep = "\t")
head(TRData)
EURUSD <- read.table("DZHEURUSD.txt", header = T, skip=1,sep = "\t")
head(EURUSD);tail(EURUSD)
GBPUSD <- read.table("DZHGBPUSD.txt", header = T, skip=1,sep = "\t")
head(GBPUSD);tail(GBPUSD)
library(XML)
url <- "http://en.wikipedia.org/wiki/world_population"
tbls <- readHTMLTable(url)
print(class(tbls))
str(tbls)
print(length(tbls))
tbls[[1]]
as.Date("2014.4.18",format="%Y.%m.%d")
HKG33 <- read.table("HKG33.TXT", header = T,sep = "\t")
head(HKG33);tail(HKG33)
}
|