library(stringr)
library(manipulate)
library(wordcloud)
## Loading required package: RColorBrewer
source("getFreqMtx.R")
freqMtx<-getFreqMtx("Lec04-text.txt")
freqMtx<-freqMtx[order(freqMtx$raw, decreasing = TRUE),]
dim(freqMtx)
## [1] 609 2
freqMtx[freqMtx$relative>=0.01 & freqMtx$relativ<=0.04,]
freqMtx[str_detect(rownames(freqMtx), "^c.+ed$"),]
smallMtx2 <- freqMtx[freqMtx$raw >=2 & freqMtx$raw<3,]
View(smallMtx2)
smallMtx2[str_detect(rownames(smallMtx2), "^\\d"),]
smallMtx2[str_detect(rownames(smallMtx2), "^[0-9]"),]
Top20<- freqMtx[1:20,]
wordcloud(rownames(Top20),Top20$raw)
wordcloud(rownames(Top20),Top20$raw,colors=rainbow(10))
calcSQRT<- function(value) {
return(sqrt(value))
}
calc2ndPower<- function(value) {
return (value^2)
}
tmp <- 100
calcSQRT(tmp)
## [1] 10
calc2ndPower(tmp)
## [1] 10000
calcTest1 <- function(value, type=1){
if(type==1){
ans = calcSQRT(value)
}else if(type==2){
ans = calc2ndPower(value)
}
return(ans)
}
calcTest1(100)
## [1] 10
calcTest1(100,2)
## [1] 10000
calcTest2 <- function(value, sqrtFlag=FALSE){
if(sqrtFlag==TRUE){
ans = calcSQRT(value)
}else{
ans = calc2ndPower(value)
}
return(ans)
}
calcTest2(100)
## [1] 10000
calcTest2(100, sqrtFlag=TRUE)
## [1] 10
calcTest3 <- function(value, type=1){
ans <- switch (type,
"1" = calcSQRT(value),
"2" = calc2ndPower(value)
)
return(ans)
}
calcTest3(100, type=1)
## [1] 10
calcTest3(100, type=2)
## [1] 10000
tmp <- freqMtx[1:20,1]
names(tmp) <-rownames(freqMtx)[1:20]
barplot(tmp,las=3)
color8 = c("red", "violet", "pink", "orange", "yellow", "green", "blue", "cyan")
barplot(tmp, las=1,col=color8)
manipulate(plot(0,0,pch=8,cex=5,col=myColors), myColors=picker("red", "violet", "pink", "orange", "yellow", "green", "blue", "cyan") )
manipulate(
plot(0,0,pch=myMarkers,cex=5,col=myColors), myColors=picker("red", "violet", "pink", "orange", "yellow", "green", "blue", "cyan",initial="violet"),
myMarkers=picker(1,2,3,4,5,6,7,8,initial="5")
)
manipulate(
plot(0,0,pch=8,cex=mySize,col="blue"),
mySize=slider(1,10,initial=5)
)
manipulate(
{
複数行にわたるスクリプト
},
picker, sliderの情報(複数の場合はカンマで結合)
)
\[Frequency=\frac{K}{Rank^A} \] K,A: 定数
K=freqMtx[1,1]
A=0.8
rank <- seq(1:dim(freqMtx)[1])
zipf <- K/rank^A
plot(zipf, log="xy", type="l",col="red" ,
xlim=c(1,nrow(freqMtx)),ylim=c(1,50),main="Zipf's Law", xlab="Rank", ylab="Frequency")
par(new=T)
plot(rank,freqMtx[,1], xlim=c(1,nrow(freqMtx)), ylim=c(1,50),log="xy",pch=8, col="darkgreen", main="Zipf's Law", xlab="Rank", ylab="Frequency")
配置:“bottomright”, “bottom”, “bottomleft”, “left”, “topleft”, “top”, “topright”, “right”, “center”
ラベル
lty: 線の種類
pch: プロットの種類
legend("topright",c("Frequency","Zipf's law"),lty=c(NA,1),pch=c(8,NA),col=c("darkgreen","red"))
title="Zipf's Law"
xlabel="Rank"
ylabel="Frequency"
A=0.8
rank <- seq(1:dim(freqMtx)[1])
manipulate(
{
zipf <- constK/rank^A
plot(zipf, log="xy", type="l",col="red" ,
xlim=c(1,nrow(freqMtx)),ylim=c(1,50),main=title, xlab=xlabel, ylab=ylabel)
par(new=T)
plot(rank,freqMtx[,1], xlim=c(1,nrow(freqMtx)), ylim=c(1,50),log="xy",pch=8, col="darkgreen", main=title, xlab=xlabel, ylab=ylabel)
legend("topright",c("Frequency","Zipf's law"),lty=c(NA,1),pch=c(8,NA),col=c(col="darkgreen",col="red"))
text(20, 50, "Frequency=K/Rank^A")
text(20, 40, paste("K=", constK))
text(20, 30, paste("A=", A))
}
, constK=slider(50,200, initial=freqMtx[1,1],step=10)
)
tmp <- freqMtx[1:20,1]
names(tmp) <-rownames(freqMtx)[1:20]
color8 = c("red", "violet", "pink", "orange", "yellow", "green", "blue", "cyan")
barplot(tmp, las=1,col=color8)
alt text
alt text
Top20<- freqMtx[1:20,]
genWC(rownames(Top20),Top20$raw)
genWC(rownames(Top20),Top20$raw, colorFlag=1)