03.外部数据导入导出
1.数据导入导出
a=read.table('Practice.txt')
View(a)
#元素不足时,可以添加指定分隔符 sep ='\t'
#排除指定元素,可以添加 comment.char
#加入上方具有表头参数:header =T
a=read.table('Practice.txt',header =T)
View(a)
#查看参数使用'?+参数'
?read.table
#数据的写入,将数据输出为.csv 格式
write.csv(a,'Practice_1.csv')
#重新读取保存的Practice_1.csv,命名为b
b=read.csv('Practice_1.csv')
View(b)
##去掉行名
b=b[,-1]
#保存.Rdata的文件(只能用R打开)
save(b,file = 'b_input.Rdata')
load(file='b_input.Rdata')
04.中级变量操作
<1> 简单运算(加减乘除),集合运算,reshape,以及merge总结
#排序:sort()
#其他函数也是通用的规律,min,max
sort(a$AvgSptlen)
sort(a$AvgSptlen)[1]
sort(a$AvgSptlen,decreasing = T)
sort(a$AvgSptlen,decreasing = T)[1]
#R语言的循环藏在更高阶的语言中
a$AvgSptlen > 120
table(a$AvgSptlen > 120)
#挑出目标行
x=a[a$AvgSptlen > 120,]
#筛选所需要的类别,$ 符号
wxs=a[a$Assay_type=='WXS',]
rna=a[a$Assay_type=='RNA_Seq',]
#取平均数:mean
a=1:100
dim(a)=c(10,10)
mean(a[1,])
mean(a[2,])
#rowMeans将矩阵中每一行的值求和,并将结果转化为一个向量,输出它们的平均值
a=1:100
dim(a)=c(10,10)
as.matrix(a)
rowMeans(a)
#for循环
for(i in 1:nrow(a)){
print(mean(as.matrix(a[i,])))
}
#apply循环
x=as.matrix(a)
apply(a,1,function(x){
mean(x)
})
#取每一行的最大值和最小值
apply(a,1,max)
apply(a,1,min)
#自定义函数
rowMax=function(x){
apply(x,1,max)
}
rowMax(a)
yinwen = function(a){
for(i in 1:nrow(a)){
x=as.matrix(a)
y=x[1]+x[2]-x[3]+x[4]-x[5]
print(y)
}
}
yinwen(a)