首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

「R」用purrr实现迭代

(读者可以点击原文获取小抄) ?...接下来我们将学习和使用purrr包,它提供的函数可以替代很多常见的for循环应用。R基础包中的apply应用函数族也可以完成类似的任务,但purrr包的函数更一致,也更容易学习。...使用purrr函数替代for循环的目的是将常见的列表问题分解为独立的几部分: 对于列表的单个元素,我们能找到解决办法吗?如果可以,我们就能使用purrr将该方法扩展到列表的所有元素。...[1:3] "simpleError" "error" "condition" safely()函数也可以与map()共同使用x = list(1, 10, "a") y = x %>% map(safely...,一般来说,我们应该检查一下y中错误对象所对应的x值,或者使用y中的正常结果进行一些处理: is_ok = y$error %>% map_lgl(is_null) x[!

4.8K20

day5-白雪

生信学习者最需要熟悉的是向量和数据框向量向量和标量 元素 -数字或者字符串(由数字、字母、下划线组成的一串字符),根据元素可以区分两个词 标量 #一个元素组成 向量 #多个元素组成(有序排列的元素) 图片 引用于微信公众号生信星球 使用时...x Error: unexpected '[' in "[" > x[x==6] #指定等于是双等号 [1] 6 6 > x[x<6] #x 中小于6的元素 [1] 1 2 3 4 5 1 2 3 4...file = "bio.RData") #保存当前所有变量,必须是.RData格式 > save(a,file = "a.RData") #保存其中一个变量 > load("a.RData") #再次使用...Error in `[.data.frame`(a, 3) : undefined columns selected > a[,3] Error in `[.data.frame`(a, , 3) :...undefined columns selected > a[,2] #第2列 [1] 1 NA NA 3 NA > a[1] #第1列 X1 1 A 2 B 3 C 4 D 5 E

63400

R语言进阶笔记5 | purrr替代循环

purrr替代循环 1 purrr循环 引用知乎张敬信的说法: ❝用 R 写 「循环」 从低到高有三种境界:手动 for 循环,apply 函数族,purrr 包泛函式编程。...❞ R写循环有三个境界: 手动for循环 apply循环 purrr泛函式编程 其中,手动for循环我最常用,apply系列半吊子,purrr函数一窍不通,所以要学习一下。...dat = data.frame(y1 = rnorm(10),y2 = rnorm(10)+10) dat map(dat,mean) 这里,map是函数,mean是map的参数,测试数据: > dat...3 map的不同类型 map函数,支持一元函数 map2函数,支持二元函数 pmap函数,支持多元函数 这里先模拟数据: > dat = data.frame(x1 =rnorm(10),x2 = rnorm...1] -0.2338953 $x3 [1] -0.3660053 $x4 [1] 0.02137338 7 map的用法1:批量建模 这里使用我的R包learnasreml中的MET数据,进行测试

3.2K10

R海拾遗_再谈非标准评估

>% summarise(mean = mean(summary_var)) } # 这个函数的目的是求分组后的均值 grouped_mean(mtcars, cyl, mpg) 报错 #> Error...这就涉及到参数的调用,局部变量和全局变量的问题 另一个例子 df <- data.frame( y = 1, var = 2 ) var <- "y" df[[var]] #> [1] 1...df$y #> [1] 1 这两种表达式,最后都会将y值提取,严格上讲 [[是一个评估函数,因此可以使用var这种间接引用 $ 是一个引用函数 Quote 和 quote # 将cyl 引用 x_var...purrrmap函数 # map函数的具体使用后续再考虑 # 简单说就是对第一个参数(数据集、或者list)分别使用第二参数(函数) # 在r语言中...其实相当于list...# expr函数是将代码转换为表达式,但是并不执行 # 目的是和添加新变量名 summary_vars <- purrr::map(summary_vars, function(var) {

67020
领券