问题标签 [vctrs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - dplyr 中空分组数据框/tibble 的构造函数
你知道一种方法来构造一个空的grouped data.frame
或tibble
indplyr
吗?
对于自定义类的构造函数,这是我能想到的最好的方法grouped_df
,但我不喜欢它,因为结果实际上不是真的grouped_df
.
动机
为了使我的代码符合整洁的代码原则,我查看了 Advanced R 书中关于 S3 类的构造函数的部分。
要dplyr::group_by()
在使用有关包的 S3 向量的文章中列出的转换方法时定义自定义方法,我需要一个自定义分组数据框的构造函数(如果您对详细信息感兴趣,请参阅GitHub 问题 #155 )。vctrs
vctrs
r - 基于目标类型规范的 tibble 列的整洁类型转换
是否有推荐的“整洁类型转换”方法,即tibble
根据目标规范将 a 的列强制为所需的类型/类?
由于vctrs
似乎为向量提出了新的整洁的“坚果和粗体”,我可能更喜欢基于vctrs
. 虽然我有一些有用的东西,但我想知道是否有比使用以下组合更好的“整洁类型转换”(如果这是正确的概念术语)的方法:
- 基本 R 的东西,比如
factor()
和numeric()
- 的方法
vctrs::vec_cast()
- 并通过处理地图部分
purrr::map2_df()
到目前为止,这是我能想到的:
由reprex 包(v0.2.1)于 2019 年 1 月 11 日创建
令我惊讶的是,方法 viareadr::type_convert()
似乎忽略了col_a
应该成为factor
.
r - 无法在 R 3.2.1 中安装 dplyr
我无法安装 dplyr。尝试安装后我有以下答案
我的会话信息:
r - 固定长度向量的 R 包
我想在 R. 伪代码中有固定长度/维度向量/矩阵:
这对于捕获错误和编写健壮的代码很有用。CRAN 上是否有任何软件包可以做到这一点?
r - 哪个版本的 R 与最新版本的 Blavaan(2019 年 8 月 3 日)兼容?
我想使用 blavaan(0.3-5 版)进行分析。安装包blavaan
似乎可以工作(即没有错误消息),但是当我尝试加载库“blavaan”时,我收到以下错误消息:
错误:loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 中的 'blavaan' 的包或命名空间加载失败:没有包称为“pkgbuild”</p>
这是我在最新版本的 R (3.6.1) 中收到的错误消息。我检查了,如果软件包pkgbuild
可能与此版本不兼容,它会出现。因此,我尝试了旧版本的 R (3.5.3),其中创建了 blavaan。那么它应该工作,对吧?但是我又收到了类似的错误消息。这次是一个名为vctrs
.
对于一些背景:我有使用lavaan
('常规' SEM)的经验,并想尝试一下 blavaan。我知道围绕 lavaan 和基本 R 的方式,但我不是程序员/数学家或类似的人。我认为对我来说最好的解决方案是只使用其他人知道可以工作的 R 版本,而不必编写自己的方式。
这是我使用的代码,但我认为这不是问题:
安装“blavaan”后,我收到以下消息:
包'blavaan'成功解包并检查了MD5和下载的二进制包在[位置]
但是,打开库 'blavaan' 后,我收到以下错误:
错误:loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 中的 'blavaan' 的包或命名空间加载失败:没有包称为“pkgbuild”[或“vctrs”等]
我才刚刚开始使用 blavaan(或者:尝试...),所以我只尝试了 2019 年 8 月 3 日更新的最新版本的 blavaan(0.3-5)。
从那以后有人用过blavaan吗?如果是这样,您使用的是哪个版本的 R?
r - 错误 devtools::check - 'pillar' 的 loadNamespace() 中的 .onLoad 失败
我正在构建一个 R 包,并且在使用 devtools::check() 测试包时,当测试到达安装阶段时出现错误,说:
我的描述文件中没有提到柱子和 vctrs,所以它们必须是我所依赖的其他包的依赖项。安装了柱子和vctrs,我也尝试过重新安装它们。它们存储在第一个 .libPath 条目中。我尝试按照 mfox9 here的建议从 github 安装柱子,但这对我来说失败了,给出了这个错误:
(注意:z:/ 是我正确的 R 库地址)
有人可以帮忙吗?
'''
'''
r - 了解 vctrs list_of 的 [<-、[[<- 和 vec_c
问我在RStudio 社区论坛上提出的问题,以防有人能够在这里提供帮助。
大家好,我正在努力更好地理解[<-
、[[<-
、vec_c
和c
list_of 类的行为。我正在定义一个list_of
子类,它本质上是一个字符向量列表,应该在空格上分割。我想根据需要使用赋值运算符来调整值,但我很难完全理解vctrs
实现。我在下面提供了一个代表,突出了我想要弄清楚的内容。
示例类
用于强制和铸造的锅炉板
榜样与性格之间的强制
在例子和角色之间进行转换
测试
为了将值分配给现有行,有没有一种方法可以使用[<-
或[[<-
分配一个完整的字符串,例如"d e"
和被拆分,或者是与已经拆分的字符向量一起使用的最佳选择,[[<-
例如c("d", "e")
?
问题的症结在于,使用vec_c
and c
,新值似乎是通过new_example
,因此字符串被拆分。[[<-
似乎避免了这种情况,并在发送到构造函数之前[<-
将字符串转换为list_of
类,但我仍然不清楚如何调整这些细节以在这个用例中工作(并且更好地理解vctrs
应该如何工作)。
r - vctr_rcrd 类对象上的取消列出行为
我有一个 vctr_record 类型的对象,我想将它用作我不能/不应该更改的代码的输入。
我遇到的问题是,该代码中的 lapply-then-unlist 行为导致我的 vctr_record 类型对象被展平。但是,这不是我想要的行为,我希望 vctr_record 类型在取消列出后保留。
我知道为什么unlist 不保留属性等,但我希望有人会知道一个不涉及我提交 github 问题的解决方法,该问题可能需要相当长的时间才能解决。
以下是此行为的示例:
由reprex 包(v0.3.0)于 2019 年 12 月 18 日创建
随着更多字段被添加到 vctr_record 类型对象,问题变得更糟。
vctrs 包中是否有一些聪明的技巧可以帮助我解决这个问题?恐怕我真的无法更改其他代码中的 unlist。
r - dplyr::mutate 是否适用于记录样式的列?
我最近一直在测试 vctrs 包,尤其是最近他们所谓的“记录样式”对象,我想知道是否有任何方法可以让它们与 dplyr::mutate 配合得很好。目前,当 dplyr::mutate 在我尝试使用对象时给我一个关于对象长度的错误。
我不知道合适的内置类型,所以作为一个代表,我将使用这个小插图中描述的理性类。
到目前为止一切都很好,但是当我尝试使用 dplyr::mutate 创建一列有理数时,出现错误
但是在基础 R 中创建列就可以了:
是否有一些技巧可以使用 dplyr::mutate 使其工作,或者这是不可能的?
r - tidyverse 未加载,它说“命名空间 'vctrs' 0.2.0 已加载,但 >= 0.2.1 是必需的”
我一直遇到安装tidyverse
包的问题,这使我无法执行许多文本处理任务。这个问题和 2017 年以来的许多帖子中提到的相同,当我进入library(tidyverse)
或尝试打开其他相关包时,他们总是说它需要 0.2.1 版本的vctrs
. 我曾尝试使用remote
下载或下载其他临时版本,但可以使用。有人可以帮我吗?
我正在使用最新版本的 R(版本 3.6.1),在 Rstudio 1.2.5033 上运行。我还更新了我的vctrs
包裹。