Minggu, 15 Oktober 2017

Contoh R coding sederhana



Belajar bahasa R tidak susah, bahkan bagi yang belum punya dasar komputer programming. Bahasa R memang dirancang untuk analisa statistik dan matematik. Tentu semua orang yang pernah bersekolah pasti pernah mendapakan pelajaran, matematika dan statistik.

Belajar Bahasa Programming, tidak seperti belajar Bahasa Inggris, bicara Bahasa Inggris kurang sedikit masih bisa dimengerti, tapi bahasa programing, kurang titik saja tidak akan keluar hasilnya. Memulai belajar coding sejak dini banyak manfaatnya, disamping melatih logika, bahasa programming banyak memakai syntax/perintah yang harus dihafalkan.


Di bawah akan diberikan beberapa contoh dasar coding R programming.
Logo Rstudio



a <- 42
A <- a * 2  # R is case sensitive
print(a)
cat(A, "\n") # "84" is concatenated with "\n"
if(A>a) # true, 84 > 42
{
  cat(A, ">", a, "\n")
}

[1] 42
84
84 > 42
#Fungsi
Square <- function(x) {
  return(x^2)
}

print(Square(4))
print(Square(x=4)) # same thing
[1] 16
[1] 16
#---Coundown
countdown <- function(from)
{
  print(from)
  while(from!=0)
  {
    Sys.sleep(1)
    from <- from - 1
    print(from)
  }
}

countdown(5)
> countdown(5)
[1] 5
[1] 4
[1] 3
[1] 2
[1] 1
[1] 0
#---Readline funsi
readinteger <- function()
{ 
  n <- readline(prompt="Enter an integer: ")
  n <- as.integer(n)
  if (is.na(n)){
    n <- readinteger()
  }
  return(n)
}

print(readinteger())
 
Enter an integer: 
Enter an integer: boo
Enter an integer: 44
[1] 44
Warning message:
In readinteger() : NAs introduced by coercion
#---List
sum(0:9)
append(LETTERS[1:13],letters[14:26])
c(1,6,4,9)*2
something <- c(1,4,letters[2])  # indices start at one, you get (1,4,"b")
length(something)
sum(0:9)
[1] 45
> append(LETTERS[1:13],letters[14:26])
 [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "n" "o"
[16] "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
> c(1,6,4,9)*2
[1]  2 12  8 18
> something <- c(1,4,letters[2]) #indices start at one, you get (1,4,"b")
> length(something)
[1] 3
#---Baca data
tbl <- read.table(file.choose(),header=TRUE,sep=",")
population <- tbl["POPESTIMATE2009"]
print(summary(population[-1:-5,]))
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
  544300  1734000  4141000  5980000  6613000 36960000 
#Filtering data
tbl <- read.table(file.choose(),header=TRUE,sep=',')
population <- tbl[c("NAME","POPESTIMATE2009","NPOPCHG_2009")]
smallest.state.pop <- min(population$POPESTIMATE2009)
print(population[population$POPESTIMATE2009==smallest.state.pop,])
      NAME POPESTIMATE2009 NPOPCHG_2009
56 Wyoming          544270        11289


Beberapa contoh sumber data yang bisa dipakai buat latihan, sudah ada beberapa dataset yang sudah embed dengan R sendiri, juga tersedia di blog seperti data.gov,data.un.orghttp://data.un.org/ dsb


mtcars
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
iris
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1            5.1         3.5          1.4         0.2     setosa
2            4.9         3.0          1.4         0.2     setosa
3            4.7         3.2          1.3         0.2     setosa
4            4.6         3.1          1.5         0.2     setosa
5            5.0         3.6          1.4         0.2     setosa
6            5.4         3.9          1.7         0.4     setosa
7            4.6         3.4          1.4         0.3     setosa
library(MASS)

 Boston
        crim    zn indus chas    nox    rm   age     dis rad tax ptratio  black lstat medv
1    0.00632  18.0  2.31    0 0.5380 6.575  65.2  4.0900   1 296    15.3 396.90  4.98 24.0
2    0.02731   0.0  7.07    0 0.4690 6.421  78.9  4.9671   2 242    17.8 396.90  9.14 21.6
3    0.02729   0.0  7.07    0 0.4690 7.185  61.1  4.9671   2 242    17.8 392.83  4.03 34.7
4    0.03237   0.0  2.18    0 0.4580 6.998  45.8  6.0622   3 222    18.7 394.63  2.94 33.4
5    0.06905   0.0  2.18    0 0.4580 7.147  54.2  6.0622   3 222    18.7 396.90  5.33 36.2
6    0.02985   0.0  2.18    0 0.4580 6.430  58.7  6.0622   3 222    18.7 394.12  5.21 28.7
7    0.08829  12.5  7.87    0 0.5240 6.012  66.6  5.5605   5 311    15.2 395.60 12.43 22.9
Contoh di atas hanya beberapa saja, sebagai gambaran bahwa belajar Bahasa R sangat mudah, gratis, dan tersedia banyak sumber data. Bila ada kesulitan bisa gabung di Komunitas Stack overflow.
Referensi:
Rstudio
Stackoverflow
Github

Kapan Puncak Covid19 di Indonesia ?

Prediksi Covid19, kapan mencapai puncaknya? Selamat Idhul Fitri from Home, menjawab pertanyaan kapan covid19 mencapai puncaknya? ...