生信喵 发表于 2022-9-1 21:22:26

数据转换

不同数据类型之间的转换
       一般的 R 函数只能接受固定类型的数据,例如绘制热图,输入数据必须是数值型向量,数据框则不行,线性回归分析中,输入数据必须为一个数据框。因此,需要熟悉各种数据类型之间的转换。此外,在做数据转换的过程中,还要记住,有些数据只能单方向进行转换,而不能相互转换,例如部分数据框无法转换为数值型矩阵。

getwd()
setwd('/home/xhs/jyxy/11-rbasic/')
dir()
dir()
x <- read.csv('heatmap.csv')
head(x)
class(x)
is.matrix(x)
methods(is)
methods(plot)

rownames(x) <- x[,1]
ncol(x)
x <- x[,-1]
x <- as.matrix(x)
heatmap(x)
ls()
rm(list=ls())
x <- read.csv('CountMatrix.csv',row.names = 1)
class(x)
nrow(x)
colnames(x)
x <- x[,c(1,3,5,7,2,4,6,8)]
colSums(x)
y <- apply(x,2,sum)
barplot(y,las=2)
opar <- par('mar')
par(mar= c(8.1,4.1,4.1,2.1))
par('mar')
barplot(y,las=2)

y

x
x
rbind(x,x)
rbind(x,x)
rbind(x,x)
rbind(x,x)
cbind(x,x)
cbind(x,x)

rbind(x,y)
tail(rbind(x,cTotal = y))
x <- rbind(x,cTotal = y)
z <- rowSums(x)
x <- cbind(x,rTotal = z)
x <- x#33470
x <- x#22009#向量和矩阵之间相互转换:给向量加上维度。
x <- c(1:10)
dim(x) <- c(2,5)
#向量和数据框之间相互转换:data.frame,cbind 和 rbind 将向量转换为数据框,取出数据框的
# 每一列为一个向量。
state <- data.frame(state.name,state.abb,state.division,state.area)
#数据框和矩阵之间相互转换:
#as.matrix()将数据框转换为矩阵
iris.mat <- as.matrix(iris)
#as.data.frame()矩阵转换为数据框。
state <- as.data.frame(state.x77)
#向量和因子之间相互转换;as.factor()函数。
mtcars$cyl <- as.factor(mtcars$cyl)
#修改因子的水平和标签;
mtcars$cyl <- factor(mtcars$cyl,levels = c(4,6,8),labels =
                     c("four","six","eight"))
页: [1]
查看完整版本: 数据转换