R代码积累

本文介绍了R语言中如何将data.frame的列转换为num类型,以及data.frame和data.table在处理非数字数据时的不同。在创建data.frame时,可以通过设定stringsAsFactors参数避免字符串自动转为因子。同时,分享了matrix转data.frame时的注意事项。
摘要由CSDN通过智能技术生成

R的学习过程

1.写一个函数,将data.frame的每一个列的数据类型改为num类型;

举例将factor转换成num类型:

#写一个自写函数
as_num_data_frame<- function(data,colname=''){
if (length(colname)==0) colname=names(data)
if (length(colname) != sum(colname %in% names(data))) stop('Col Name not match');
data[,colname] <-  lapply( data[,colname], as.numeric)
data
}
#调用函数
ddd<-colnames(genexp)
genexp <- as_numeric_data_frame(data=genexp,colname=ddd)
str(genexp)

2.data.frame默认将非数字转化为因子,data.table 会将非数字转化为字符,创建数据框时数据类型被强制转换了;

创建数据框的时候用

data.frame(..., row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())

…:用于指定数据框的数据,通常是多个向量,每个变量元素的类型必须相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值