[R Tutorial/Chapter1] Basics

This is an article about my R Tutorial notes.
Chapter 1 is the basic knowledge for manipulating data in R.

1. Assigning Values

#(1)Assign value to objects
x = 11
print(x)
#  using an arrow
y <- 9
print(y)

#  list things in the work place memory
ls()
#  remove y
rm(y)
y <- 9

#  assign character value to objects
xx <-"marin"

#  Operations
z <- x+y
y^2
y^(1/2)
sqrt(y)
log(y)
log2(y)
abs(-14)
exp(y)

2. Vector and Matrix

#(2)Vector and Matrix
#  define a vector
x1 <- c(1,3,5,7,9)
gender <- c("male","female")
x2 <- c(2:6)

#  numerical sequence
seq(from=1,to=7,by=1)

#  repetition
rep(1,times=10)
rep("marin",times=5)
rep(seq(from=1,to=5,by=0.25),times=2)
rep(c("m","f"),times=5)

#  operations
x1 + 10
x1*10

# If two vertors are of the same length, we may add/subtract
# /mult/div corresponding elements
x1+x2
x1/x2

#  get the 3rd element of a vector
x1[3]
#  get elements except the 3rd
x1[-3]
#  get elements from the 1st to the 3rd
x1[1:3]
# get the 3rd and the 5th (need to use c())
x1[c(3,5)]
#  get elements except the 3rd and 5th
x1[-c(3,5)]
#  get the element that satisfies certainrequirements
x1[x1<3]

#  define the martix
mat <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,byrow=TRUE)

#  extract elements
mat[1,2]
mat[c(1,3),2]
#  blank means to extract all the col/rows
mat[2, ]
mat[ ,1]

#  operations
mat*10

3. Importing data

#  from .csv
data1 <- read.csv(file.choose(),header=T)
#  'header=T' means to let R know the first row is headers
#  or use read.table
data1 <- read.table(file.choose(),header=T,sep=",")

#  form .txt
data2 <- read.delim(file.choose(),header=T)
data2 <- read.table(file.choose(),header=T,sep="\t")

4.Subsetting Data with Square Brackets ([])

In this part, I use the data set LungCapData as the example.
You may download it from here:
https://www.statslectures.com/r-scripts-datasets

#(4)Subsetting data with square brackets and logic statements
#  import data
Data1 <-read.table(file="C:/Users/user/Desktop/R tutorial/LungCapData.txt",header=T,sep="\t")

#  dimensions of your data
dim(Data1)

#  first six rows
head(Data1)
#  last 6 rows
tail(Data1)
#  other cuts
Data1[c(5,6,7,8,9), ]
Data1[5:9, ]
Data1[-(5:9), ]

#  see the names of variables
names(Data1)

#  find the mean of variable"Age" in Data1
#  use dollar sign'$' to extract variable
mean(Data1$Age)

#  Attach Set of R Objects to Search Path
attach(Data1)
Age
#  unattach
detach(Data1)
Data1$Age

#  check the type of a variable
class(Age)

#  for catergorical variables, see the levels
level(Gender)

#  length of records
length(Age)

#  genmerical summary of the data
summary(Data1)

#  If one varibale is encoded with 1 and 0
#  encode numbers to factors
x <- c(0,1,1,1,1,0,0,0,0)
class(x)
x <- as.factor(x)
class(x)
#  summary will show the frequencies
summary(x)

#  Let's deal with subsets!
#  "==' means equals (Not for assigning values)

#  calculate the mean of women's age
mean(Age[Gender=="female"])

#  save subset for women and men
#  to leave blank means to extract all variables
FemData <- Data1[Gender=="female", ]
MaleData <- Data1[Gender=="male", ]
MaleOver15 <- Data1[Gender=="male" & Age>15, ]

#  create logical variable
temp <- Age>15
temp[1:5]
temp2 <- as.numeric(Age>15)
temp3 <- as.factor(temp2)

#  create a indicator for female who smoke
FemSmoke <- Gender=="female" & Smoke=="yes"

#  bind in the col
Data2 <- cbind(Data1,FemSmoke)
#  bind in the row
Data3 <- rbind(Data1,Data1)

#  clean all
rm(list=ls())

5. Working Directories and R Scripts

The two commands are quite useful for saving and extracting workspace data: save.image() and load().

#  find ur home path
path.expand("~")

#  find ur current working dir
getwd()

#  set ur working dir
setwd("C:/Users/user/Desktop/R tutorial")
#  or...
projectWD <- "C:/Users/user/Desktop/R tutorial"
setwd(projectWD)

#  save workspace
save.image("Project1.Rdata")

#  clean and quit
rm(list=ls())
q()

#  load previous workspace
load("Project1.Rdata")
#  or...
load(file.choose())

#  [tips]"Tab"key returns to instructions

#  installing packages
install.packages("epiR")

#  load the library( u need to load in each session)
library("epiR")

Thanks for your reading!
Jasmine Qu ;)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352