首页 > 代码库 > R语言的基本操作--读取和写入txt,sapply&lapply
R语言的基本操作--读取和写入txt,sapply&lapply
最近比较忙比较忙比较忙。。。真是忙///
作为菜鸟,不明白为什么这么容易忘记r的基本操作,感觉比C# JAVA c什么的都难,又来复习一遍
1 ##数据操作的入门 2 3 ##定义一个函数判断偶数 4 func <- function(x) 5 { 6 if(x %% 2 == 0){ 7 ret <- ‘even‘ 8 }else 9 { 10 ret <- ‘odd‘ 11 } 12 return(ret) 13 } 14 15 ##测试效果 16 func(35) 17 18 ##sapply----下面的代码会报错,参数只能是一个数值 19 vec <- round(runif(4) * 100) 20 func(vec) 21 ##这样子的代码才是正确的 22 sapply(vec,func) 23 24 ##另外一种方法 25 funcv <- Vectorize(func) 26 funcv(vec) 27 28 ##还有一种实现方法 ifelse 29 funcif <- function(vecc) 30 { 31 ##这里的代码比较的机智 32 return(ifelse(vecc%%2,‘odd‘,‘even‘)) 33 } 34 funcif(vec) 35 36 ##另一个稍微有趣的试验 37 set.seed(123) 38 out <- data.frame(x2 = runif(4) * 10, x1 = c(‘a‘,‘b‘,‘c‘,‘d‘)) 39 ##打印输出 40 print(out) 41 out <- format(out,digits = 3) 42 out 43 ##paste可以连接两个字符 配合cat一起输出 44 cat(paste(out$x1,out$x2,sep = ‘=‘),sep = ‘\n‘) 45 46 47 ##txt文件操作 48 ##创建txt 49 outfile <- file(‘output.txt‘) 50 ##cat写入 51 cat(1:100,sep = ‘\t‘,file = outfile) 52 close(outfile) 53 #再写一行,否则最后一个数字和第一个数字会重合 54 cat(‘\t‘,sep = ‘ ‘,file = ‘output.txt‘,append = TRUE) 55 ##cat还可以对已有内容的文件加操作---至于这里为什么是这样不是直接使用output我也感到十分诧异 56 cat(101:200,sep = ‘\n‘,file = ‘output.txt‘,append = TRUE) 57 ##读取txt 58 input <- scan(file = ‘output.txt‘) 59 input 60 61 ##开始一个新的例子 62 ##读取路径 63 path <- .libPaths()[1] 64 ##改路径下的所有文件夹? 65 doc.names <- dir(path) 66 doc.names 67 ##改变路径 68 doc.path <- sapply(doc.names,function(names){ 69 paste(path,names,‘DESCRIPTION‘,sep = ‘/‘) 70 }) 71 doc.path 72 ##生成最终文档 73 doc <- sapply(doc.path,function(doc) readLines(doc)) 74 doc
R语言的基本操作--读取和写入txt,sapply&lapply
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。