tidyverse 相关问题

如果您的问题与tidyverse的一个或两个组件有关,请不要使用,例如dplyr或ggplot2。使用*那些*标签,并使用`r`标记以获得更好的响应。

使用 str_detect 对具有相似字符串的组进行分组

考虑以下示例数据: 图书馆(tidyverse) dt <- tibble(Poison = c('Arsenic', 'Arsenic in Wine', 'Cyanide', 'Cyanide and Sugar'), Result = c('Death', 'Death With Class', 'Death...

回答 2 投票 0

使用 ggplot 和 gridExtra 组合表格和绘图

尝试找到一种更优雅的解决方案,使用 dplyr、ggplot 和 gridExtra 包将绘图与表格结合起来。此外,需要帮助控制表格中显示的数字。 我想做...

回答 1 投票 0

R 中的字符串拆分为多个位置分隔符

我在分隔符之间分割文本时遇到一些问题,需要具体说明我选择的分隔符。 考虑以下: 一个<- "hello, my, name, is, monty, and, i, wo...

回答 1 投票 0

从 tibble 创建列表列表

我正在尝试做一些看起来很简单的事情,但我无法弄清楚。我有一个这样的小标题: > df <- tibble::tribble( ~col_a, ~col_b, 1, "A", 2, "...

回答 4 投票 0

是否有 R 函数允许您从数值变量中提取单个数字,无论其位置如何(不仅仅是第一个或最后一个数字?

我看过很多关于如何使用 gsub 或 grep 等函数提取数字变量中的第一个数字或最后一个数字的帖子,但是我希望能够提取特定的数字 regar...

回答 1 投票 0

如何从当前行上方找到满足特定条件的最接近的值?

我需要从最近的前一行中查找级别比当前行级别低一的 id。下面提供了示例数据。 编号 <- c(42,53,82,17,33,92,6,12,66) level <- c(2...

回答 2 投票 0

从当前行上方查找满足引用当前行值的标准的最接近值

我需要从最近的前一行找到“id”,该行的“level”等于当前行的级别减一。下面提供了示例数据。 编号<-c(42,53,82,17,33,92,6,12,66) level<-c(2...

回答 1 投票 0

根据 R 中的模式和分隔符将一列拆分为多列

我有一个数据框df,其中一列如下所述。我想将 V1 列拆分为多个列,如所需输出中所述。 df = read.table(text = "

回答 2 投票 0

将 XML 表转换为 R 中的 tibble

我正在尝试将具有不同行数和列数的 XML 表转换为数据帧。我可以使用格式良好、可预测的表格来做到这一点,如下两个表格: ... 我正在尝试将具有不同行数和列数的 XML 表转换为数据帧。我可以使用格式良好、可预测的表格来做到这一点,就像这两个表格一样: <table xml:id="a"> <row role="label"> <cell cols="2">Stuff</cell> </row> <row> <cell>Thing</cell> <cell>1</cell> </row> <row> <cell>Another thing</cell> <cell>2</cell> </row> </table> <table xml:id="b"> <row role="label"> <cell cols="2">Nonsense</cell> </row> <row> <cell>Thing</cell> <cell>3</cell> </row> <row> <cell>Anything</cell> <cell>2</cell> </row> <row> <cell>Another thing</cell> <cell>2</cell> </row> </table> 我可以将它们更改为这样的小标题: # A tibble: 5 × 4 id label cell.1 cell.2 <chr> <chr> <chr> <dbl> 1 a Stuff Thing 1 2 a Stuff Another thing 2 3 b Nonsense Thing 3 4 b Nonsense Anything 2 5 b Nonsense Another thing 2 使用此代码: x <- "table.xml" file <- read_xml(x) cells <- file %>% xml_find_all(".//cell") output <- lapply(cells, function(d){ id <- d %>% xml_find_first(".//parent::row/parent::table")%>% xml_attr("id") label <- d %>% xml_find_first(".//parent::row/preceding-sibling::row[@role='label']")%>% xml_text() cell.1 <- d %>% xml_find_first(".//parent::row/cell")%>% xml_text() cell.2 <- d %>% xml_find_all(".//following-sibling::cell")%>% xml_double() tibble(id, label, cell.1, cell.2) }) answer <- do.call(rbind, output) 但是,这种方法依赖于提供的属性 (@role='label')、一致的单元格数量等。我需要在一堆格式不规则的 XML 表上运行此脚本。 如果我向上例中的某一行添加一个额外的单元格,我的方法就会失败。我怀疑我可能以错误的方式处理这个问题。例如,我可以用 xml2::as_list() 来做到这一点吗?我的尝试还没有成功。 这是一种使用 rvest 包和 tidyverse 转换中的 html_table 的可能方法。注意:您显示的 XML 无效。 ### Packages library(xml2) library(rvest) library(stringr) library(dplyr) library(purrr) ### Parse the XML and transform the result as character a=read_xml("C:/Users/YourName/Downloads/YourFile.xml") b=as.character(a) ### Replace the content of the XML to conform the tables to HTML tables structure b=str_replace_all(b,"cell cols","td colspan") b=str_replace_all(b,"row","tr") b=str_replace_all(b,"cell","td") ### Parse the result of the transformation c=read_xml(b) ### Get all ids of the tables attr=html_elements(c,xpath = "//table") %>% html_attrs() %>% unlist() ### Get all the tables temp=c%>% html_elements(xpath = "//table") %>% html_table() ### Declare a function to transform the tables ### Transform the last column from character to numeric transform=function(x,y){x %>% slice(-1) %>% mutate(id=y, label=x[1,1][[1]],.before=1, X2=as.numeric(X2))} ### Apply the function done=map2(.x = temp,.y = attr,.f = transform) ### Stack the tables and rename the columns end=bind_rows(gigachad) %>% rename_with(.fn = ~str_replace(.x,"X","cell."), .cols = starts_with("X")) 输出: # A tibble: 5 × 4 id label cell.1 cell.2 <chr> <chr> <chr> <dbl> 1 a Stuff Thing 1 2 a Stuff Another thing 2 3 b Nonsense Thing 3 4 b Nonsense Anything 2 5 b Nonsense Another thing 2

回答 1 投票 0

如何计算R数据集中每个女性的孩子数量?

我正在使用 R 中的数据集,并尝试根据每个女性与户主的关系来计算每个女性的孩子数量。数据集包含诸如

回答 1 投票 0

如何使用命令行安装软件包?

我一直在尝试运行一个使用 tidyverse 和 readr 的 R 脚本。脚本本身调用library(foo)命令来加载包并在Rstudio中运行得很好,但在invo时不运行...

回答 1 投票 0

使用 R 中的 case_when 函数创建一个函数来有条件地修改变量列表

我想基于以下函数创建多个(30+)变量,其中 N、B、C、Q 每个都是 df 数据框中的变量列表。我已经包含了代码以及来自...的错误

回答 1 投票 0

(R, dplyr) 选择以相同字符串开头的多列,并按组汇总平均值 (90% CI)

我是 tidyverse 的新手,从概念上讲,我想计算以“ab”开头、按“case”分组的所有列的平均值和 90% CI。尝试了很多方法但似乎都不起作用,我的实际数据有很多列...

回答 2 投票 0

编写自定义延迟评估函数(如 dbplyr)来获取 SQL

我该如何编写这个函数的逻辑,它应该能够做两件事。 获取数据<- function(database, table=NULL, query=NULL){ rlang::check_required( x = database ) if(i...

回答 1 投票 0

按组选择前 n 个值,其中 n 取决于数据框中的其他值

我对 R 和编码总体来说还很陌生。我们将非常感谢您的帮助:) 我正在尝试按组选择前 n 个值,其中 n 取决于其他值(在下面称为因子)...

回答 2 投票 0

无法在Rstudio云中安装R包

我刚刚开始在 Linux 中使用 Rstudio Cloud,在安装软件包时遇到了问题。我刚开始使用 tidyverse #安装 tidyverse 软件包 选项(repos = c(CRAN =“https://cloud.r-

回答 1 投票 0

如何用lubridate提取重复的时间间隔?

在 200,000/400,000 行的数据集中,在 6 个月的时间内每分钟记录多个 id 的变量,我想提取一天中特定时间发生的数据,比如早上 7 点到...

回答 1 投票 0

海量数据集 - 按月份和位置计算的平均值

我非常感谢您对一些数据进行排序以减少我拥有的海量数据集(近 2600 行)的时间自相关性方面的帮助。我确信这可能是一个相当简单的事情...

回答 1 投票 0

计算日期数量奇数的运行金额

我有一个充满技术支持票的日期和回复时间的表格,我想计算运行率以找到过去 n 天的平均回复时间。数据我...

回答 1 投票 0

根据与两列匹配的另一个数据帧覆盖数据帧中的值

我有一个数据框,其中第一列有日期,第二列有 ID,其他列有值。一列中的一些值(假设是第三列)应该更新或插入

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.