3DS Bravely Second 勇气默示录2 存档修改月球人数和金钱

以下对应1.02版

1) 3DS中打开SaveDataFiler,找到User中的0DC8,导出。

2) 储存卡插入电脑,找到位于filer\UserSaveData下找到BD2COLONY0.savBD2GAME0.sav,用16进制编辑器打开。

3) 月球人数:BD2COLONY0.sav中修改OFFSET:45处的数字,比如下图中改了OFFSET:4处为FF,对应255人,保存。

Maple_code

4) 金钱: BD2GAME0.savOFFSET:8568开始,比如图中改成了626262,对应80多万,保存。

Maple_code

5) 储存卡插入3DS,打开SaveDataFilerSD栏中找到刚更改的存档,导入游戏。

R数据分析 - R语言最最基础

Scientific Inference - Learning from data by Simon Vaughan Appendix A: Getting started with statistical computation

运行R

在Terminal中输入R开始运行.
命令格式是command(arguments),如果没有arguments,则留空.
注释使用#.

赋予变量使用<-:

r <- 200
pi*r^2
[1] 125663.7

R把数据看作向量和矩阵,因为上面的粒子标量,相当于1x1矩阵,因此输出时显示[1].

1:20代表1,2,...,20的向量:

x <- 1:20
x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

求和,平均值和数目:

sum(x)
[1] 210
mean(x)
[1] 10.5
var(x)
[1] 35

标量点乘向量:

2*x
[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

画图,plot():

y <- (x-mean(x))^2
plot(x,y)
plot(x,y,type="l",xlab="This is X axis",ylab="This is y axis",main="Title",cex=2)

查看历史记录,history():

history()
pi r^2
x <- 1:20
x
sum(x)
mean(x)
var(x)
2*x
y <- (x-mean(x))^2
plot(x,y)
plot(x,y,type="l",xlab="This is X axis",ylab="This is y axis",main="Title",cex=2)
history()

输入输出数据

输入两行数据并输出到文件myfile.txt:

varX <- c(1,2,3,4,5)
carY <- c(5.2,5.6,6.3,3.6,1.2)
dat <- data.frame(varX,varY)
write.table(dat, file="myfile.txt", row.names=FALSE)

文件输出在当前工作目录下,getwd()可查看当前目录位置,setwd()设置工作目录.

读取文件:

data.table <- read.table("myfile.txt",header=TRUE)

从网络读取数据:

data.table <- read.table(file="http://www.statsci.org/data/general/waves.txt", header=TRUE)
n <- length(data.table$Waves)
time <- (1:n)*0.15
plot (time, data.table $Waves,type="o",pch=16,ylab="Force",xlab="Time(s)")

编辑数据,使用与vi类似:

x <- edit(data.table$Waves)

退出q():

q()
Save workspace image? [y/n/c]: n

矩阵计算:

生成矩阵:

i <- 1:6
mat <- matrix(i,nrow=2)
print (mat)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6

计算平均值:

rowMeans(mat)
[1] 3 4
colMeans(mat)
[1] 1.5 3.5 5.5

apply(array,col/row,function)更为通用,1代表row,2代表column,可引用各种函数.

和上例一样计算平均值:

apply(mat,1,mean)
[1] 3 4
apply(mat,2,mean)
[1] 1.5 3.5 5.5

计算方差variance:

apply(mat,1,var)
[1] 4 4
apply(mat,2,var)
[1] 0.5 0.5 0.5

添加元素:

mat <- rbind(mat,apply(mat,2,mean))
mat <- cbind(mat,apply(mat,1,mean))
print(mat) [,1] [,2] [,3] [,4]
[1,] 1.0 3.0 5.0 3.0
[2,] 2.0 4.0 6.0 4.0
[3,] 1.5 3.5 5.5 3.5

给各个行列命名:

colnames(mat) <- c(1:3,"mean")
rownames(mat) <- c(1:2,"mean")
print (mat)
1 2 3 mean
1 1.0 3.0 5.0 3.0
2 2.0 4.0 6.0 4.0
mean 1.5 3.5 5.5 3.5

length和dimension:

length(mat)
[1] 12
dim(mat)
[1] 3 4

运行R脚本:

source ("myscript.R")

画图:

x <- seq(0,100)
y <- cumsum(rnorm(length(x)))+50
plot(x,y, #(x,y)
type="o", #type of plot
pch=16, #data symbol type
lty=3, #line type
cex=0.5, #expansion factor
xlim=c(0,100), #x-axis limits
ylim=c(30,70), #y-axis limits
xlab="Time", #x-axis label
ylab="Value", #y-axis label
bty="n", #box type
log="xy", #logarithm main="Title") #title

在图上添加图形:

points() # add new data points;
lines() # add lines through data;
abline() # add a straight line;
text() # add text to a graphic;
legend() # add a legend.

举例:画直线

abline(h=50,lty=2)

举例:画函数曲线

y <- 50+x-0.02*x^2
lines(x,y)

其他画图种类:

pairs() # produce a matrix of scatter plots;
coplot() # produce a series of scatter plots separated by a third variable;
hist() # histograms;
dotchart() # dot charts;
image() # intensity images;
contour() # contour maps;
persp() # projections of a surface.

输出图形到文件:

jpeg(file="Routput.jpg",width=480,height=480)
plot(rnorm(50),type="l",ylab="y")
dev.off(dev.cur())

上面第一行初始化输出文件,第二行在文件中画图,第三行完成画图.
可以画各种格式pdf,png,jpeg,ps等,输入?devie查看类型.

R数据分析 - 统计基础

Scientific Inference - Learning from data by Simon Vaughan Chapter 2: Statistical summaries of data

典型的统计作图

Histograms

数据morley为R语言内置,直接可以使用,输入morley可查看.

hist(morley$Speed,breaks=50)

hist(morley$Speed,breaks=50,col="darkgray",main="",xlab="Speed - 299000 (km/s)")

Bar Chart

设置工作文件夹:

setwd("~/Documents/R/")

读取数据:

rutherford <- read.table("rutherford.dat")
rutherford
V1 V2
1 0 57
2 1 203
3 2 383
4 3 525
5 4 532
6 5 408
7 6 273
8 7 139
9 8 45
10 9 27
11 10 10
12 11 4
13 12 0
14 13 1
15 14 1
rate <- rutherford$V1
freq <- rutherford$V2

画图:

plot (rate,freq,type="h",xlab="Rate(counts/interval)",ylab="Frequency",lwd=5)

或者

barplot(freq,names.arg=rate,,xlab="Rate(counts/interval)",ylab="Frequency",space=0.5)

Mean, Median, Mode

Mean: 平均值 (和处于个数) Median: 中间值 (比中间值大的数据个数等于比中间值小的数据个数) Mode: 对应极值的坐标

mean(freq)
[1] 173.8667
median(freq)
[1] 57

mode没有特定的函数计算.

方差 Variance

方差:

$$ s_x^2=\frac{1}{n-1}\underset{i=1}{\overset{n}{\Sigma }}\left(x_i-\overset{-}{x}\right){}^2 $$

方差(variance)的算术平方根是标准方差(standard deviation)

var(freq)
[1] 39966.98
sd(freq)
[1] 199.9174

Five Numbers

Min(0%),25%,Median(50%),75%,Max(100%).

fivenum(rate)
[1] 0.0 3.5 7.0 10.5 14.0

标准误差 (standard error)

$$ \text{SE}_{\overset{-}{x}}=\sqrt{\frac{s_x^2}{n}} $$

以moley实验为例,计算所有数据的速度平均值和标准误差.

x <- morley$Speed
mean(x)
[1] 852.4
var(x)
[1] 6242.667
sqrt(var(x)/length(x))
[1] 7.901055

moley实验可以分为5组实验,分别计算每组数据的平均值和标准误差.

分割数据,20个数据为一组(所以nrow=20)

speed <- matrix(morley$Speed,nrow=20)

计算平均值和误差,apply(数据,行/列,函数),2代表列.

speed.mean <- apply(speed,2,mean)
speed.var <- apply(speed,2,var)
speed.n <- apply(speed,2,length)
se <- sqrt(speed.var/speed.n)
se
[1] 23.46218 13.67672 17.68883 13.42572 12.12381

把结果放在data frame里,此数据结构类似matrix,但可以混合存放不同类型的数据.

data.frame(speed.mean,speed.var,speed.n,se)
speed.mean speed.var speed.n se
1 909.0 11009.474 20 23.46218
2 856.0 3741.053 20 13.67672
3 845.0 6257.895 20 17.68883
4 820.5 3605.000 20 13.42572
5 831.5 2939.737 20 12.12381

画包含误差棒的图:

Expt <- 1:length(speed.mean)
plot(Expt,speed.mean,ylim=c(780,950),pch=16,bty="l",xlab="Experiment",ylab="Speed - 299,000(km/s)")
segments(Expt,speed.mean-se,Expt,speed.mean+se)
arrows(Expt,speed.mean-se,Expt,speed.mean+se,code=3,angle=90,length=0.1)

第一行实验序号,第二行画平均值,第三行画误差棒,使用了segments(x0,y0,x1,y1)函数画线段,第四行用arrows()函数画箭头.

协方差(covariance)和相关性(correlation)

对于二维数据(x,y),如果两者有关联的话可以计算协方差(covariance):

$$ s_{\text{xy}}=\frac{1}{n-1}\underset{i=1}{\overset{n}{\Sigma }}\left(x_i-\overset{-}{x}\right)\left(y_i-\overset{-}{y}\right) $$

从上面的定义可以看到,把y改成x就是平常的方差形式.

相关性(correlation coefficient): $$ r=\frac{s_{\text{xy}}}{s_x s_y}\frac{1}{n-1}\underset{i=1}{\overset{n}{\Sigma }}\left(\frac{x_i-\overset{-}{x}}{s_x}\right)\left(\frac{y_i-\overset{-}{y}}{s_y}\right) $$

如果相关性强,r趋向1.

注意相关性并不代表一定有因果关系(causation),比如(你的白头发,英国的手机量)两者相关,随时间而增加,但不代表白头发和手机量有因果关系.

cor(speed.mean,speed.var)
[1] 0.9058616
cor.test(speed.mean,speed.var)

Pearson's product-moment correlation

data: speed.mean and speed.var
t = 3.7042, df = 3, p-value = 0.03418
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.1175123 0.9938399
sample estimates:
cor
0.9058616