ডেভসংকেত

R প্রোগ্রামিং

R প্রোগ্রামিং ল্যাংগুয়েজ একটি ফ্রি এবং ওপেন সোর্স এনভায়রনমেন্ট যার মাধ্যমে স্ট্যাটিস্টিক্যাল কম্পিউটিং করা যায়। R স্টাটিস্টিকসে অনেক বেশি পরিমাণে ব্যবহার হয়। ডাটা এনালিসিস, ডাটা মাইনিং, সার্ভে এনালাইসিস এ R এর প্রচুর ব্যবহার আছে।

কন্ট্রিবিউটর

  • sabbirshawon
  • ashikeelahi3
  • irezaul
  • iamraufu
  • mirajus-salehin

শেয়ার করুন

কিভাবে R এর বিউল্ট-ইন হেল্প নিবেন

  • একটি সুনির্দিষ্ট ফাংশন সম্পর্কে হেল্প প্রিন্ট করান। এখানে উদাহরণ সরূপ sin এর হেল্প প্রিন্ট করবে

    ?sin
  • সুনির্দিষ্ট ফাইল অথবা কোনো শব্দ সম্পর্কে হেল্প প্রিন্ট করান। এখানে উদাহরণ সরূপ mean নিয়ে হেল্প প্রিন্ট

    help.search('mean')
  • কোনো একটি প্যাকেজ নিয়ে হেল্প প্রিন্ট করান। এখানে dplyr প্যাকেজটির হেল্প করানো হলো

    help(package = 'dplyr')
  • কোনো একটি অবজেক্ট এর সামারি সম্বন্ধে জানতে টাইপ করুন। এখানে iris অবজেক্ট দিয়ে উদাহরণ দেওয়া হলো।

    str(iris)
  • একটি অবজেক্ট কোন ক্লাস থেকে এসেছে তা জানতে টাইপ করুন

    class(অব্জেক্টের_নাম)

কিভাবে R এ লাইব্রেবি ব্যবহার করবেন

  • CRAN হতে প্যাকেজ ডাউনলোড এবং ইন্সটল

    install.package('প্যাকেজের_নাম')
  • লাইব্রেরি লোড এবং এর সমস্ত ফাংশন গুলো ব্যবহার

    library(লাইব্রেবির_এর_নাম)
  • কোনো একটি প্যাকেজ থেকে একটি ফাংশন ব্যবহার

    প্যাকেজের_নাম :: ফাংশনের_নাম
  • বিউল্ট-ইন ডাটাসেট লোড

    data(ডাটাসেটের_নাম)

ভ্যারিয়েবল এসাইনমেন্ট

  • ভ্যারিয়েবলে স্ট্রিং এসাইন

    x <- 'foo'
  • ভ্যারিয়েবলে ভেক্টর এসাইন

    x <- c(1,2,3,4,5)
  • ভ্যারিয়েবলে সিকুয়েন্স এসাইন

    x <- 1:10

ভেক্টর হতে এলিমেন্ট সিলেক্ট করা

  • ভেক্টর হতে সিলেক্ট চতূর্থ এলিমেন্ট

    x[4]
  • ভেক্টর হতে চতূর্থ এলিমেন্ট বাদে বাকি সব সিলেক্ট

    x[-4]
  • ভেক্টর হতে দ্বিতীয় ও চতূর্থ এলিমেন্ট সিলেক্ট

    x[2:4]
  • ভেক্টর হতে দ্বিতীয় ও চতুর্থ এলিমেন্ট বাদে বাকি সব সিলেক্ট

    x[-(2:4)]
  • ১ এবং ৫ উপাদান নির্বাচন করা

    x[c(1,5)]
  • ৫ এর সমান যে যে এলিমেন্ট তা সিলেক্ট

    x[x==5]
  • ৫ এর চেয়ে ছোট এলিমেন্ট সিলেক্ট

    x[x<5]
  • ৫ এর চেয়ে বড় এলিমেন্ট সিলেক্ট

    x[x>5]
  • বাংলাদেশ নামের উপাদান

    x['bangladesh']
  • সেসব এলিমেন্ট সিলেক্ট যারা ১,২,৩ সেটের ভিতরে আছে

    x[x %in% c(1,2,3)]

হোয়াইল(While) লুপ

  • হোয়াইল লুপের সাধারণ গঠন

    while (কন্ডিশন)
    { Do something 
    }
  • হোয়াইল লুপের উদাহরণ

    while (i < 10){
     print(i) 
     i <- i+1 
     }

ফাংশন

  • ফাংশনের সাধারণ গঠন

    ফাংশনের_নাম <- function(প্যারামিটার){
     Do something 
     return(something) 
    }
  • ফাংশনের উদাহরণ

    square <- function(x){
     squared <- x*x 
     return(squared) 
    }

ডাটা রিডিং এবং রাইটিং

  • ফাইলে হতে ডাটা ইনপুট

    df <- read.csv('file.csv')
  • ফাইলে ডাঁট রাইট

    write.csv(df,'file.csv')

লিস্ট

  • লিস্ট তৈরি

    l <- list(x = 1:5, y = c('a','b','c'))
  • দ্বিতীয় এলিমেন্ট সিলেক্ট

    l[[2]]
  • শুধুমাত্র প্রথম উপাদান দিয়ে নতুন লিস্ট তৈরি

    l[1]
  • নতুন লিস্ট শুধুমাত্র r নামের উপাদান দিয়ে

    l['r']
  • x নামের এলিমেন্ট সিলেক্ট

    l$x

স্ট্রিং ম্যানিপুলেট করা | Manipulating Strings

  • স্প্লিট স্ট্রিং | Putting Together Strings

    paste('string1', 'string2', sep = '/') 
     # separator ('sep') is a space by default
  • '1/2' ফেরত | returns '1/2'

    paste(c('1', '2'), collapse = '/')
  • স্প্লিট স্ট্রিং | Split String

    stringr::str_split(string = v1, pattern = '-') 
     # returns a list
  • সাবস্ট্রিং পাওয়া | Get the substring

    stringr::str_sub(string = v1, start = 1, end = 3)

প্লটিং

  • x এর ভেলু্র ক্রমানুসারে

    plot(x)
  • y এর বিপরীতে x এর ভেলু্র

    plot(x,y)
  • x এর হিস্টোগ্রাম

    hist(x)
  • x এর বক্সপ্লট

    boxplot(x)
  • x এর ডট চার্ট

    dotchart(x)
  • x এর পাই চার্ট

    pie(x)

লজিক্যাল অপারেটর R এ কিভাবে ব্যবহার করবেন

  • যৌক্তিক নয় | Logical NOT

    !
  • উপাদান-ভিত্তিক যৌক্তিক এবং | Element-wise Logical AND

    &
  • যৌক্তিক এবং | Logical AND

    &&
  • উপাদান-ভিত্তিক লজিক্যাল OR | Element-wise Logical OR

    |
  • যৌক্তিক OR | Logical OR

    ||

ভেক্টর

  • ভেক্টর তৈরি

    c(1,2,3,4)
  • সিকুয়েন্স তৈরি

    1:10
  • সুনির্দিষ্ট পদ পার্থক্য দিয়ে সিকুয়েন্স তৈরি

    seq(1,10,by=0.5)
  • একটি ভেক্টরের ভিতরে একটি সিকুয়েন্স রিপিট

    rep(1:3,times=2)
  • একটি ভেক্টর উপাদান পুনরাবৃত্তি

    rep(1:2, each=3)

ভেক্টর নিয়ে কিছু কমন ফাংশন

  • ভেক্টর সর্টিং

    sort(x)
  • ভেক্টর উলটা করুন

    rev(x)
  • ভেক্টরে কোন মান কত বার আছে তা গণনা

    table(x)
  • ভেক্টর হতে ইউনক ভ্যালু বের করা

    unique(x)

ফর লুপ

  • ফর লুপের সাধারণ গঠন

    for(ভ্যারিয়েবলের_নাম in সিকুয়েন্স){
     Do Something 
    }
  • ফর লুপের উদাহরণ

    for(i in 1:10){
     print(i) 
     }

ইফ স্টেটমেন্ট

  • ইফ স্টেটমেন্টের এর সাধারণ গঠন

    if (কন্ডিশন){
     Do something 
    } 
     else {
     Do something different 
    }
  • ইফ স্টেটমেন্টের এর উদাহরণ

    if (i > 5){
     print('yes') 
    } 
     else {
     print('no') 
    }

কমন গানিতিক ফাংশন

  • স্বাভাবিক লগারিথম

    log(x)
  • এক্সপোনেনশিয়াল

    exp(x)
  • সিকুয়েন্সের সবচেয়ে বড় সংখ্যা

    max(x)
  • সিকুয়েন্সের সবচেয়ে ছোট সংখ্যা

    min(x)
  • n দশমিক স্থান পর্যন্ত দশমিকের মান

    round(x,n)
  • n তাৎপর্যপূর্ণ স্থান পর্যন্ত দশমিকের মান

    signif(x,n)
  • সম্পর্ক

    cor(x,y)
  • যোগ

    sum(x)
  • x এর সবগুলো সংখ্যার গুণফল

    prod(x)
  • গড়

    mean(x)
  • মধ্যমা

    median(x)
  • শতাংশ

    quantile(x)
  • উপদানের ক্রম

    rank(x)
  • উপাদানের বৈচিত্র্য

    var(x)
  • মান বিচ্যুতি

    sd(x)
  • পরমমান

    abs(x)
  • বর্গমূল

    sqrt(x)
  • ফ্যাক্টোরিয়াল

    factorial(x)
  • সূচক (পাওয়ার)

    x^n
  • ভাগ করার পরে ভাগশেষ

    x %% y
  • ভাগফল (পূর্ণসংখ্যা)

    x %/% y

ম্যাট্রিক্স

  • ম্যাট্রিক্স(3x3) তৈরি করা

    m <- matrix(x, nrow=3, ncol=3)
  • ম্যাট্রিক্স ট্রান্সপোস

    t(m)
  • ম্যাট্রিক্সের যোগফল

    m + n
  • ম্যাট্রিক্স গুনন

    m %*% n
  • ম্যাট্রিক্স হতে একটি রো সিলেক্ট

    m[2, ]
  • ম্যাট্রিক্স হতে একটি কলাম সিলেক্ট

    m[ ,2]
  • ম্যাট্রিক্স হতে একটি এলিমেন্ট সিলেক্ট

    m[2,2]
  • ম্যাট্রিক্সের রো এর সমষ্টি

    rowSums(m)
  • ম্যাট্রিক্সের কলাম এর সমষ্টি

    colSums(m)
  • ম্যাট্রিক্সের ইনভার্স

    solve(m)
  • ম্যাট্রিক্সের নির্ণায়কের মান

    det(m)
  • ম্যাট্রিক্স(3x3) এ নতুন রো এড করা

    rbind(m, c(1,2,3))
  • ম্যাট্রিক্স(3x3) এ নতুন কলাম এড করা

    cbind(m, c(1,2,3))

স্ট্রিং

  • একসাথে একাধিক ভেক্টর যোগদান করা

    paste(x, y, sep=' ')
  • ভেক্টরের উপাদানগুলি একসাথে যোগদান করা

    paste(x, collapse = ' ')
  • x এর ভিতর রেগুলার এক্সপ্রেশন খোজা

    grep(pattern, x)
  • x এর ভিতর মিলমত স্ট্রিং প্রতিস্থাপন করা

    gsub(pattern, replace, x)
  • বড় হাতের অক্ষরে রূপান্তর করা

    toupper(x)
  • ছোট হাতের অক্ষরে রূপান্তর করা

    tolower(x)
  • স্ট্রিং এর ভেতর ক্যারেক্টার এর সংখ্যা

    nchar(x)

পরিসংখ্যান

  • রৈখিক মডেল

    lm(x ~ y, data= df)
  • সাধারণ রৈখিক মডেল

    glm(x ~ y, data= df)
  • গড়ের পার্থক্য টি-টেস্ট করা

    t.test(x, y)
  • জোড়াযুক্ত ডেটার টি-টেস্ট করা

    pairwise.t.test
  • অনুপাতের পার্থক্যর জন্য পরিক্ষা করা

    prop.test
  • বৈকল্পিকতা বিশ্লেষণ করা

    aov
  • একটি মডেলের আরও বিস্তারিত তথ্য

    summary

সেটের অপারেশন

  • দুইটি সেটের ইউনিয়ন

    union(x, y)
  • দুইটি সেটের ইন্টারসেকশন

    intersect(x, y)
  • দুইটি সেটের বিয়োগফল

    setdiff(x, y)
  • দুইটি সেটের মধ্যে তুলনা

    setequal(x, y)

ডেভসংকেত সম্পর্কে

ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

স্পন্সর