使用tidyverse有什么缺点吗?[重复]


对于任何与在R中处理数据有关的事情,我最近看到tidyverse被推荐为几乎是必不可少的。这就提出了一个问题–如果它真的如宣传的那样,有什么理由不使用它吗?例如,tidyverse中的框架是否有什么值得一提的限制性?

解决方案:

第一个缺点:稳定性

一个缺点是功能变化比比如说基础R更快,所以如果你想要长时间的稳定,我会选择基础R。

第二个缺点:灵活性

整洁数据的概念是很好的,但要想在转换后拥有与之前相同的行号(见mutate)并不总是可行的。比如说

library(tidyverse)
data.frame(matrix(rnorm(1000), ncol= 10)) %>%
mutate_all(function(i) density(i)$x)

因为行号发生了变化,所以出现了错误。有时我遇到这样的情况 mutate 抱怨行号不一样。这与 summarise 每列只要求长度为1,而对于 range比如说。当然,也有一些变通的方法,但我更喜欢基本的R,在这里会简单地成为

apply(data.frame(matrix(rnorm(1000), ncol= 10)), 2, function(i) density(i)$x)

第三个缺点:复杂性

有些情况下,tidyverse可以用,但要麻烦得多。前段时间我问过一个 疑问 如何做这个代码

df[df$age > 90, ] <- NA

内的整齐划一,两个答案建议使用

df %>% select(x, y, age) %>% mutate_all(~replace(.x, age> 90, NA))
# or
df %>% mutate_all(function(i) replace(i, .$age> 90, NA))

这两个答案都可以,但显然没有基础R的代码速度快。

为什么这道题不应该是closes

这个问题作为一个重复的问题被关闭了,并链接到另一个关于tidyverse与data.table的问题。在我看来,如果有人问到tidyverse(或任何其他软件包)的缺点,这并不意味着这个人要求与data.table软件包进行比较。相反,通过与R base的比较,可以更明显地看出tidyverse的缺点,而R base是 在链接的问题中做的,比如这个问题不是重复的。

给TA打赏
共{{data.count}}人
人已打赏
未分类

模型精度很低。如何提高

2022-9-8 9:54:16

未分类

世博字体加载不正确

2022-9-8 9:54:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索