- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我主要使用来自 tidyverse
的 tibble fromat 中的表格,但对于某些步骤,我使用 data.table
包裹。我想看看将 data.table 转换回 tibble 的最佳方法是什么?
我明白 data.table
有一些巧妙的功能 setDT和 setDF函数,通过引用从 data.frame 转换为 data.table(反之亦然),即不复制。
但是如果我想转换回 tibble 怎么办?我是否使用 as_tibble
复制数据?在由 setDT()
产生的 data.frame 上?有没有聪明的方法来使用它,也许使用 setattr()
来自 data.table
?
library(data.table)
library(tidyverse)
iris_tib <- as_tibble(iris)
## some data.table operation
setDT(iris_tib)
setkey(iris_tib, Species)
iris_tib[, Sepal.Length.Mean := mean(Sepal.Length), by = Species]
## How to convert back to tibble efficiently?
setDF(iris_tib)
iris_tib_back <- as_tibble(iris_tib)
## it looks like we were able to update by reference? Only rownames were (shallow) copied?
changes(iris_tib, iris_tib_back)
最佳答案
正如@Frank 提到的,这在帖子 here 中进行了讨论。 .一种可能性是使用 setattr()
函数,通过引用设置属性。恰恰:
setattr(x, "class", c("tbl", "tbl_df", "data.frame"))
old_class <- class(iris_tib)
setDT(iris_tib)
.... # bunch of data.table operatios
setDF(iris_tib)
setattr(iris_tib, "class", old_class)
关于R data.table : how to go from tibble to data. 表返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52431288/
这个问题在这里已经有了答案: Combine a list of data frames into one data frame by row (9 个回答) 去年关闭。 我有一个很大的列表(200.
我想创建一个存储其他任意小标题的小标题列。 我通过以下代码设法做到了这一点,首先使用 nest()在每个内部 tibble 上然后使用 unnest()在外层 library(tibble) libr
我已尽我所能进行搜索,但仍在为我的问题而苦苦挣扎。我正在尝试根据另一个 tibble 的值对 tibble 中的列进行子集化。 更具体地说,我有一些社会经济指标: cname year ccod
我已尽我所能进行搜索,但仍在为我的问题而苦苦挣扎。我正在尝试根据另一个 tibble 的值对 tibble 中的列进行子集化。 更具体地说,我有一些社会经济指标: cname year ccod
我有两个问题,第一个是这个。 input_data # A tibble: 7 × 3 #> Genes Sample1 Sample2 #> #> 1 Ncr1
我有两个 tibbles,ranges 和 sites。第一个包含一组坐标(区域、开始、结束以及其他字符变量),另一个包含一个站点(区域、站点)。我需要获取第二个小标题中第一个小标题中给定范围(行)内
我正在使用 rtweet 包的 get_friends 函数来获取一组焦点用户的 friend 的 user_id 列表谁是从 Twitter 话语的参与者中抽样的。该函数返回一个 tibbles 列
我正在使用 rtweet 包的 get_friends 函数来获取一组焦点用户的 friend 的 user_id 列表谁是从 Twitter 话语的参与者中抽样的。该函数返回一个 tibbles 列
我想在以下代码中生成一个 tibble 列表。 tbl = tibble(id=1:10, a = rnorm(10), b = rnorm(10)) tbl_list = c("a", "b")
我有一个数据框,我需要添加一列以包含对应于现有数据框每一行的 3 个物种。希望下面的例子能说明问题: Site Year Trt A 2016 bowl A
我想用 df 中的 NA 替换 de 列,使用 df2 中的估算值来获得 df3 .我可以使用 left_join 和 coalesce 来做到这一点,但我认为这种方法不能很好地概括。有没有更好的办法
我想用 df 中的 NA 替换 de 列,使用 df2 中的估算值来获得 df3 .我可以使用 left_join 和 coalesce 来做到这一点,但我认为这种方法不能很好地概括。有没有更好的办法
假设我有一个嵌套的 tibble,格式如下: # A tibble: 3 x 3 AccountNumber Tibble1 Tibble2
在之前版本的 tidyr 中,我能够使用 tibble::add_row 将行添加到嵌套 tibble。更新到版本 1.0.0 后出现以下错误: Error: levels.vctrs_list_of
我编写了一个函数,其中一部分将矩阵转换为小标题。这在 tibble 1.4.2 中没有问题,但在 2.0.1 中会导致错误。 导致错误的代码如下 library(tibble) library(mag
我有这个列表列表: regions unnest(country) 在 base R 中,命名列表,并使用 stack : setNames(regions, seq_along(regions
我有一个问题: df % filter(! (x %>% map_lgl(~ sum(str_extract(df$x, .x) == .x, na.rm = TRUE) > 1))) #> # A
为了简化我的数据分析,我需要针对不同的变量和不同的数据组处理不同的统计测试(在该示例中为 shapiro 测试)。目的是不要写 150 次相同的代码。为此,我从我的数据集中创建了一个 tibble,其
我正在尝试通过对多个步骤进行采样来模拟一些数据。 第一步(创建 x)工作正常。 在第二步中,我想根据 x 的值从不同的向量中采样来创建变量 y。 我的代码运行没有错误,但在我试图实现的目标上失败了,因
我有一个像这样的嵌套列表: > ex ex [[1]] [[1]][[1]] [1] "This" "is" "an" "example" "." [[1]][[
我是一名优秀的程序员,十分优秀!