一、基础知识
1.赋值符号是<-
,尽量避免用=
2.在Console控制台也可以输入命令
3.一定要切换成英文状态输入代码,尤其是括号()
,否则报错
4.getwd()
可显示工作路径
二、向量
1.概念
1.1 向量:由多个元素组成的变量,如a<-c("a","b","c",1,2,3)
1.2 标量:由1个元素组成的变量,如b<-"gx"
1.3 向量的组成:字符串、数值等都可以
2.创建向量
a<-c("Alex","Peter","Jack") #a向量的元素均为字符串
b<-1:10 #b向量均为数值
c<-c("a",1,"b",2,"c",3) #c向量字符串和数值都有
注意:如果多个向量的向量名相同,每创建一次均会被覆盖一次,最后显示的是最终创建的向量,如:
>a<-c("Alex","Peter","Jack")
> a<-1:10
> a<-c("a",1,"b",2,"c",3)
> a
[1] "a" "1" "b" "2" "c" "3" #最终输出的为a<-c("a",1,"b",2,"c",3)创建的结果
3.查看向量
4.提取向量的元素
> a <- c("Alex","Peter","Jack","a","b","c",1:3)
> b <- 1:10
> a[2] #提取第2个元素
[1] "Peter"
> a[5:8] #提取第5到8个元素
[1] "b" "c" "1" "2"
> a[c(1,3,5)] #提取第1、3、5个元素
[1] "Alex" "Jack" "b"
> a[-c(6,8)] #提取第6和第8个元素以外的元素
[1] "Alex" "Peter" "Jack" "a" "b" "1" "3"
> a[a %in% b] #提取a在b中的元素
[1] "1" "2" "3"
> b[b>5] #提取b中大于5的元素
[1] 6 7 8 9 10
三、数据框
1.概念
R语言中的数据框类似于Excel表格
2.创建数据框
df1<-read.table(file="huahua.txt",sep="\t",header=T)
df2<-read.csv(file="doudou.txt",header=T,row.names=1)
相关参数:
1.sep=
为设置分隔符
2.header=
为设置第一行是否为列名
3.row.names=1
为设置第一列为行名
4.如果文件为csv格式,可以直接用read.csv()
3.提取数据框的元素
> df1 <- read.table(file = "huahua.txt",sep = "\t",header = T)
> df1
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> df1[1] #取第1列元素
X1
1 A
2 B
3 C
4 D
5 E
> df1[1,] #取第1行元素
X1 X2
1 A 1
> df1$X1 #取第1列元素(列名为X1)
[1] A B C D E
> df1[2,1] #取第2行第1列的元素
[1] B
> df1[1:3,1] #取第1列1-3行的元素
[1] A B C
4.保存变量
save(df1,file="blank.Rdata")
write.table(df1,file = "blank.csv",sep = ",",quote = F,row.names = F) #保存为csv文件
注意:如果save提示目标不存在(not found),则应该检查是否打错变量名称,或者变量是否被清除了
相关变量:
1.sep=","
csv文件的分隔符为逗号,所以需设置成,
2.quote=F
使输出的字符串不带引号(默认输出带引号)
3.row.names=F
使输出的结果不带行名
5.引用变量
1.attach()
和detach()
函数
> df <- data.frame(Dose=c(0,50,100,150,200),OD=c(23,45,66,79,102))
> plot(df$Dose,df$OD)
> attach(df) #引用df的变量
> plot(Dose,OD) #画图时直接敲Dose和OD即可
> detach(df) #用完后取消引用df的变量
2.with()
函数
> with(df,{
+ plot(Dose,OD)
+ x<<-summary(OD) #<<-为全局变量,在大括号外仍然有效
+ })
> x
Min. 1st Qu. Median Mean 3rd Qu. Max.
23 45 66 63 79 102