learnR_input_3
3.1 键盘输入
my_data1 <- data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
my_data1 <- edit(my_data1) # or: fix(my_data)
3.2 导入#带有分隔符的文本文件(包括txt、csv等)
my_data2 <- read.table('D:/R_codes/my_file.txt', header=FALSE, sep='\t', row.names='iris_ID')
help(read.table)
3.2.1 字符型变量避免转换成因子的方法
a: stringsAsFactors=FALSE
b: colClasses为每一列指定一个类(logical, numeric, character, factor)
3.3 导入Excel数据
3.3.1 对于xls表格
library(RODBC) #Mac无法正常下载及使用此安装包--官方
channel <- odbcConnectExcel('D:/my_file.xls')
my_dataframe <- sqlFetch(channel, 'name_sheet')
odbcClose(channel)
3.3.2 对于xlsx表格 #xlsx文件格式实质是多个XML文件组成的压缩包。
library(xlsx)
workbook <- 'D:/my_workbook.xlsx'
my_dataframe <- read.xlsx(workbook, number_sheet)
3.4 访问数据库
#RODBC中的函数:
odbcConnect(dsn, uid='', pwd='') #建立和数据源dsn的连接
aqlFetch(channel, sql_table) #读取数据库中的某一个表到一个数据框中
sqlQuery(channel, query) #向数据库提交一个查询并返回结果
sqlSave(channel, mydf, table_name=sql_table, append=F) #将数据框mydf创建或更新(append=T)到数据库的sql_table表中
sqlDrop(channel, sql_table) #删除数据库中的sql_table表
close(channel) #关闭连接
#example:
library(RODBC)
myconn <- odbcConnect('mydsn',uid='vllen',pwd='1234')
table2 <- sqlFetch(myconn, table1)
vtable4 <- sqlQuery(myconn, 'select * from table3')
close(myconn)
#####值标签
patientdata$gender<-factor(patientdata$gender,levels=c(1,2),labels=c('male','female')) #levels实际值,labels值标签