Sunday, October 24, 2010

Convert char array to string

Diambil dari rujukan [1]

Cara susah:

string str;
char array[] = "Hello World";
for(int i = 0; array[i] != 0; i++)
str += array[i];

Cara senang

string str;
char array[] = "Hello World";

str = array;

Rujukan:

[1] http://www.programmersheaven.com/mb/CandCPP/309708/309708/converting-char-array-to-string-type/

Split string to vector

Saya ambil dari rujukan [1]

Contoh:

string d = "Ahmad 54 34 45";

vector result;

split(d,'\t',result);


vector &split(const string &s, char delim, vector &elems) {
stringstream ss(s);
string item;
while(std::getline(ss, item, delim)) {
elems.push_back(item);
}
return elems;
}


Rujukan:

1. http://stackoverflow.com/questions/236129/how-to-split-a-string

Convert string to double

Contoh;

string d = "23.5";

double nilai = atof(d.c_str());

Rujukan:

1. http://www.gidforums.com/t-1131.html

Friday, October 15, 2010

Convert char* (char pointer) to char array

char* nama = "Hashim";
char nama_pelajar[256];

for(int i=0;i nama_pelajar[i] = nama[i];

Tuesday, October 5, 2010

Install Adobe Flash player on Ubuntu 10.04 LTS 64 bit

Sila ke laman web youtube disini dan tengok keterangan dibawah video tersebut. (sebab bila pertama kali install ubuntu, adobe flash belum install lagi, jadi tak dapat la tonton video tersebut).

Sebagai backup saya salin cara2nya seperti dibawah:

-------------***************-------------
This tutorial will detail installing Adobe Flash 10.1 in 64bit Ubuntu 10.04 LTS. Flash 10.1 is the newest release designed with emphasis on performance via hardware acceleration. In my experience, it runs much smoother and more stable than the version available for download through the Ubuntu Software Center.

-----

Installation: (Make sure you remove any current versions of Flash before continuing)

-Navigate to http://get.adobe.com/flashplayer/ and download the tar.gz for Linux.
-Extract libflashplayer.so to your Desktop

-Navigate to your terminal and type:
- cd /home/user_name/Desktop (case sensitive, replace user_name with your username)

Then input the following 4 commands individually:
- sudo mv libflashplayer.so /usr/lib/mozilla/plugins/
- sudo nspluginwrapper -i /usr/lib/mozilla/plugins/libflashplayer.­so
- sudo ln -sf /usr/lib/nspluginwrapper/plugins/npwrapp­er.libflashplayer.so /usr/lib/mozilla/plugins/
- sudo ln -sf /usr/lib/nspluginwrapper/plugins/npwrapp­er.libflashplayer.so /usr/lib/firefox-addons/plugins/

And you're done!

-----

If you'd like to uninstall, input the following commands in your terminal:

- sudo rm /usr/lib/mozilla/plugins/libflashplayer.­so
- sudo rm /usr/lib/nspluginwrapper/plugins/npwrapp­er.libflashplayer.so
- sudo rm /usr/lib/mozilla/plugins/npwrapper.libfl­ashplayer.so
- sudo rm /usr/lib/firefox-addons/plugins/npwrappe­r.libflashplayer.so

Monday, September 20, 2010

Cara makan dan minum Rasulullah S.A.W

Berikut adalah beberapa blog yang menceritakan adab makan Rasulullah S.A.W. (Hasil carian google):

1. http://bingkisanurani.blogspot.com/2008/06/diet-cara-nabi.html
2. http://hikmatun.wordpress.com/2008/03/09/cara-makan-dan-minum-rasulullah-saw/
3. http://tarbawi.wordpress.com/2009/03/15/cara-makan-nabi/
4. http://nurulhayat.org/2009/02/25/hidup-sehat-cara-nabi/
5. http://adebachtiar.multiply.com/journal/item/248
6. http://pakarhowto.com/teknik/panduan-cara-makan-ikut-sunnah-nabi-saw.html

Thursday, September 16, 2010

Istilah

1. Data Normalization - penormalan data (rujukan)

2. Sparse data - data jarang

3. Sparse array - tatasusunan jarang

4. Feature extraction - penyarian sifat

5. Continuous variable - pembolehubah selanjar
5a. Continuous random variable - pembolehubah rawak selanjar

6. Datum - a singular form of "data"

7. Event(statistic) - peristiwa

8. Mutually exclusive event - peristiwa saling eksklusif ( Peristiwa yang tidak mempunyai unsur sepunya.)

9. Data mining - Perlombongan data

10. Axiom - prinsip, aksiom

Plot two histograms in the same graph

Kaedah 1:

hist(x)
hist(y, add=TRUE)

(Di ambil dari rujukan 2, bahagian komen)

Kaedah 2:

Sila rujuk rujukan nombor 2 dan 3.

Rujukan:

1. http://r.789695.n4.nabble.com/two-histograms-in-the-same-graph-td846587.html
2. http://onertipaday.blogspot.com/2007/04/how-to-superimpose-histograms.html
3. http://onertipaday.blogspot.com/2007/05/multiple-histograms-in-one-plot.html

Example of data analysis using R

Contoh data analisis guna R boleh dimuat turun di sini

http://www.itc.nl/~rossiter/teach/R/R_corregr.pdf

Data Normalization in R

P/s: Sila pasang library clusterSim dahulu sebelum dapat menggunakannya. Sila rujuk artikel "How to install an R package?".

Untuk pengnormalan data (data normalization) dalam R, kita boleh mengunakan library clusterSim. Cara gunanya adalah, yang pertama kita kena muatkan library tersebut ke dalam ruangkerja (workspace) R terlebih dahulu.

>library(clusterSim)

Kemudian, untuk guna library tersebut, kita taip arahan seperti dibawah:

>ann0_notarget_n1 <- data.Normalization(ann0_notarget,type="n1")

-ann0_notarget_n1 adalah pembolehubah yang akan pegang nilai data yang telah dinormalkan menggunakan fungsi data.Normalization
-data.Normalization adalah fungsi yang dipanggil untuk menormalkan data.
-ann0_notarget adalah vektor data yang hendak dinormalkan
-type="n1" adalah jenis pengnormalan yang kita hendak gunakan

Sila rujuk manual penggunaan untuk keterangan lebih lanjut cara penggunaanya di sini:

http://cran.r-project.org/web/packages/clusterSim/clusterSim.pdf

(Rujuk muka surat 10 untuk lihat jenis pengnormalan data)

Untuk melihat manual beserta pakejnya sekali, sila ke laman web di bawah

http://cran.r-project.org/web/packages/clusterSim/index.html

Di dalam R, kita boleh juga menggunakan fungsi seperti . Walaubagaimanapun, fungsi ini hanya dapat mengnormalkan data untuk Standard Score sahaja.

How to install an R package?

Taip arahan dibawah pada konsol R (R console) untuk pasang (install) pakej tertentu. Cara ini adalah untuk pasang secara terus dari CRAN.

>install.packages(namapakej)

di mana namapakej adalah nama untuk pakej tersebut dalam bentuk string.

Contohnya, untuk pasang (install) pakej clusterSim, maka taip seperti di bawah

>install.packages("clusterSim")

Untuk keterangan lebih lanjut, sila rujuk di sini

1. http://math.usask.ca/~longhai/software/installrpkg.html

Wednesday, September 15, 2010

Read data from text file

Baca data dari fail text dengan pemisah adalah tab (tab separator)

> fusiondata = read.table("C:\\Datasets\\run1_train.txt",header=T,sep="\t")

Paparkan sebahagian data dari baris 1 ke baris 8:

> fusiondata[1:8,]

ANN_PREDICTED MIP_PREDICT GBT_PREDICT TARGET
1 0.5013140 0.0051 0.0323186 0
2 0.5015325 0.0051 0.0323186 0
3 0.5057989 0.0051 0.0323186 0
4 0.4961194 0.0109 0.0323186 0
5 0.5018118 0.0051 0.0323186 0
6 0.5024724 0.0109 0.0323186 0
7 0.4986205 0.0051 0.0323186 0
8 0.5017849 0.0051 0.0323186 0

Read data from text file and Plot the variable density

Baca data dari fail:

>fusiondata = read.table("C:\\Datasets\\run1_train.txt",header=T, sep="\t")

Untuk tengok data, cuba ambil dari baris 1 ke baris 8

>fusiondata[1:8,]

akan keluar data begini:

ANN_PREDICTED MIP_PREDICT GBT_PREDICT TARGET
1 0.5013140 0.0051 0.0323186 0
2 0.5015325 0.0051 0.0323186 0
3 0.5057989 0.0051 0.0323186 0
4 0.4961194 0.0109 0.0323186 0
5 0.5018118 0.0051 0.0323186 0
6 0.5024724 0.0109 0.0323186 0
7 0.4986205 0.0051 0.0323186 0
8 0.5017849 0.0051 0.0323186 0

Untuk senangkan kerja, kita umpukkan (assign) setiap pembolehubah (variable) dalam fusiondata ke pembolehubah baru.

> annpre<-fusiondata[,1]
> mippre<-fusiondata[,2]
> gbtpre<-fusiondata[,3]
> target<-fusiondata[,4]

Untuk tengok salah satu data dari pembolehubah, taipkan saja namanya. Contohnya, kita nak tengok annpre (Disebabkan datanya besar, jadi kita tengok 5 baris saja. Taip:

>annpre[1:5]

[1] 0.5013140 0.5015325 0.5057989 0.4961194 0.5018118

R memaparkan 5 data pertama sahaja.

Untuk ambil data ANN_PREDICT dimana targetnya adalah 0, kita ambil ANN_PREDICT bersama data TARGET dulu.

annpre_target<-fusiondata[, c(1,4) ]

ANN_PREDICTED TARGET
1 0.5013140 0
2 0.5015325 0
3 0.5057989 0
4 0.4961194 0
5 0.5018118 0
....

Kemudian baru ambil vektor ANN_PREDICT sahaja.

>annpre_target0<-annpre_target[annpre_target$TARGET==0,1]
>annpre_target0[1:5,]

[1] 0.5013140 0.5015325 0.5057989 0.4961194 0.5018118

Plot 2 graf density dalam satu graf

Kat sini rujukannya:

1. http://tolstoy.newcastle.edu.au/R/help/06/08/33541.html
2. http://learnr.wordpress.com/2009/03/16/ggplot2-plotting-two-or-more-overlapping-density-plots-on-the-same-graph/
3. http://www.statmethods.net/graphs/density.html
4. http://www.mail-archive.com/r-help@r-project.org/msg77489.html

Ini untuk fusion dataset, plot ANN_PREDICTED untuk TARGET = 0 dan 1

> d1<-density(ann0_notarget)
> d2<-density(ann1_notarget)
> plot(range(d1$x,d2$x),range(d1$y,d2$y),type="n",xlab="x",ylab="Density")
> lines(d1,col="red")
> lines(d2,col="blue")