r 相关问题

R是一种免费的开源编程语言和软件环境,用于统计计算,生物信息学,可视化和通用计算。请提供最小和可重复的示例以及所需的输出。对数据使用`dput()`并使用`library()`调用指定所有非基本包。不要为数据或代码嵌入图片,而是使用缩进的代码块。有关统计相关问题,请使用https://stats.stackexchange.com。

通过时间和空间匹配从栅格中提取点

我有一个 strast,其中包含我根据 u 和 v 分量计算出的当前速度信息。 如何根据时间和空间匹配从该 SPATRAST 中提取点到数据帧? 合作...

回答 2 投票 0

如何在 R 中使用 ggplot2 创建具有双 X 轴的绘图?

我正在尝试在 R 中创建一个显示两个重叠 X 轴的图: 其中一个是 Semana TW(今年的几周)。 其中一个是 Semana LY(去年的几周)。 目标是比较洛杉矶的销售额...

回答 1 投票 0

如何使用 R terra 在大型 DEM 栅格上生成高分辨率等高线?

当使用 my_line = terra::as.contour(dem,levels=single_elev) 计算数字高程模型 (DEM) 中的等高程线时,我注意到结果的准确性,即细节级别。 ..

回答 1 投票 0

为什么说笔画美学只适用于21-24号形状?

如果笔画是 R 中 25 个内置形状的边框大小,从逻辑上讲它应该适用于每个形状(我们可以排除填充形状 15 到 20)。 ggplot ()+ geom_point(mapping=aes(x=1:5, y=1:5), sh...

r
回答 1 投票 0

非线性回归“abline”

对 R 来说还是很陌生(老实说是统计数据),我目前只将它用于简单的线性回归模型。但现在我的一个数据集清楚地显示出倒 U 型模式。我想我...

回答 2 投票 0

使用 rbind 时,r 数据帧和矩阵会产生不同的行名称

方法一: df1<-data.frame(A=1:5,B=2:6) df2<-data.frame(A=1:5,B=2:6) df3<-rbind(df1,df2) row.names(df3) [1] "1" "2" "3" "4" "5" "6&

回答 1 投票 0

R:中断 for 循环

你能确认一下下一个break是否取消了内部for循环吗? for (out in 1:n_old) { id_velho <- old_table_df$id[out] for (in in 1:n) { id_novo <- new_table_df$ID[in] if(id_velho==

回答 2 投票 0

如何用正则表达式填充两个字符之间的空白

我有一个如下所示的数据集。我想用 1 替换两个 1 之间的所有点,如所需的结果所示。 我可以使用基本 R 中的正则表达式来执行此操作吗? 我试过: regexpr("^1\.1$", my.data...

回答 3 投票 0

R:在拼写错误的情况下使用shinyAlert()

我有一个带有两个变量的 data.table 形式的表示。其中之一是带有下拉日历的日期列。当我错误地在...的单元格中输入某些内容时,我希望弹出一个shinyAlert()。

回答 1 投票 0

尝试从“dlookr”获取 EDA 报告时出错:

我尝试使用出色的包 dlookr 执行探索性数据分析 (EDA)。我的结果变量是二元的。 raw_data[1:200, c(1:15, 599)] %>% eda_web_report(output_file = "temp....

回答 1 投票 0

在数据框中堆叠具有重叠值的不同列

df<- data.frame(x=c(1,2,3,4), y1=c('a','a',NA,NA), y2=c(NA,NA,'b','b')) x y1 y2 1 a 2个 3 a b --> a 和 b 具有相同的值 3 4 df <- data.frame(x=c(1,2,3,4), y1=c('a','a',NA,NA), y2=c(NA,NA,'b','b')) x y1 y2 1 a <NA> 2 a <NA> 3 a b --> a and b share the same value of 3 4 <NA> b 我正在尝试将 y1 和 y2 堆叠到新的 y 列中,以便 y1 和 y2 的每个非 NA 值都获得其相应的 x 值。 输出应如下所示: x y 1 a 2 a 3 a 3 b 4 b 3 重复出现,因为它同时出现在 a 和 b 中。 我尝试了 bind_rows 中的 dplyr,但它似乎仅适用于不同的数据帧。 你试试 reshape(df2, idvar="x", direction="long", varying=2:3, v.names="y") |> na.omit() |> subset(select=-time) 给予 x y 1.1 1 a 2.1 2 a 3.1 3 a 3.2 3 b 4.2 4 b 注意 输入更正: df2 = data.frame(x=c(1,2,3,4), y1=c('a','a','a',NA), y2=c(NA,NA,'b','b'))

回答 1 投票 0

从许多列中相应的选定值中改变列名

让我们考虑一下标记及其变异系数 (cv) 和三个参考 cv (rcv): 初始数据: 标记 CV rcv1 rcv2 rcv3 让我们考虑 markers 及其变异系数 (cv) 和三个参考 cv (rcv): 初始数据: marker cv rcv1 rcv2 rcv3 <chr> <dbl> <dbl> <dbl> <dbl> 1 AAA 7 10 8 5 2 BBB 4 5 3 1 3 CCC 11 20 15 12 4 DDD 8 7 5 2 我想改变三个新变量: rcv_value:大于rcv的最接近的cv值 rcv_name:该rcv_value的列名称 cv_conclusion: 确定,如果 cv 低于 rcvs 中的一个或另一个 ko 如果 cv 高于最高 rcv 所需输出: marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> 1 AAA 7 10 8 5 8 rcv2 ok 2 BBB 4 5 3 1 5 rcv1 ok 3 CCC 11 20 15 12 12 rcv3 ok 4 DDD 8 7 5 2 7 rcv1 ko 注意:我的真实数据有超过 100 个 markers 和大约 10 个不同的 rcv。 我失败的地方是从相应的rcv_name中获取rcv_value(使用mutate和case_when)。 感谢您的帮助。 数据: dat0 <- structure(list(marker = c("AAA", "BBB", "CCC", "DDD"), cv = c(7, 4, 11, 8), rcv1 = c(10, 5, 20, 7), rcv2 = c(8, 3, 15, 5), rcv3 = c(5, 1, 12, 2)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -4L)) 你可以试试这个: library(dplyr) dat0 %>% rowwise() %>% mutate(rcv_value = { x <- c_across(rcv1:rcv3) x[order(abs(x - cv), -x)][1] }) %>% ungroup() %>% mutate( rcv_name = do.call(coalesce, across(rcv1:rcv3, ~ ifelse(.x == rcv_value, cur_column(), NA))), cv_conclusion = ifelse(rcv_value >= cv, "ok", "ko") ) # # A tibble: 4 × 8 # marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion # <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> # 1 AAA 7 10 8 5 8 rcv2 ok # 2 BBB 4 5 3 1 5 rcv1 ok # 3 CCC 11 20 15 12 12 rcv3 ok # 4 DDD 8 7 5 2 7 rcv1 ko 在这种情况下,重新整形为长会让事情变得更加简单。首先使用tidyr::pivot_longer(),然后dplyr::mutate(.by = marker)按组执行这些操作,然后tidyr::pivot_wider()将数据恢复到原始形状。 library(dplyr) library(tidyr) dat0 |> pivot_longer( -c(marker, cv), names_to = "rcv" ) |> mutate( rcv_value = min(value[value > cv]), cv_conclusion = if_else(is.infinite(rcv_value), "ko", "ok"), rcv_value = if_else(is.infinite(rcv_value), max(value), rcv_value), rcv_name = rcv[rcv_value == value], .by = marker ) |> pivot_wider( id_cols = c(marker, cv, rcv_value, rcv_name, cv_conclusion), names_from = rcv, values_from = value ) |> select( # does not drop columns just changes order to specified one marker, cv, rcv1:rcv3, rcv_value:cv_conclusion ) # # A tibble: 4 × 8 # marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion # <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> # 1 AAA 7 10 8 5 8 rcv2 ok # 2 BBB 4 5 3 1 5 rcv1 ok # 3 CCC 11 20 15 12 12 rcv3 ok # 4 DDD 8 7 5 2 7 rcv1 ko 如果您可以为 rcv1:rcv3 列中的每个标记建立联系,则您必须指定您想要 rcv_name 说的内容。如果您只想要第一个值,您可以将该行更改为 rcv_name = rcv[rcv_value == value][1]。或者,您可以创建一个列表列来存储所有值,例如list(rcv[rcv_value == value]),或将它们粘贴在一起,例如rcv_name = paste(rcv[rcv_value == value], collapse = ",") 创建类似 "rcv2,rcv3" 的列。

回答 2 投票 0

如何从r中的许多列中相应的选定值中改变列名?

让我们考虑一下标记及其变异系数 (cv) 和三个参考 cv (rcv): 初始数据: 标记 CV rcv1 rcv2 rcv3 让我们考虑 markers 及其变异系数 (cv) 和三个参考 cv (rcv): 初始数据: marker cv rcv1 rcv2 rcv3 <chr> <dbl> <dbl> <dbl> <dbl> 1 AAA 7 10 8 5 2 BBB 4 5 3 1 3 CCC 11 20 15 12 4 DDD 8 7 5 2 我想改变三个新变量: rcv_value:大于rcv的最接近的cv值 rcv_name:该rcv_value的列名称 cv_conclusion: 确定,如果 cv 低于 rcvs 中的一个或另一个 ko 如果 cv 高于最高 rcv 所需输出: marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> 1 AAA 7 10 8 5 8 rcv2 ok 2 BBB 4 5 3 1 5 rcv1 ok 3 CCC 11 20 15 12 12 rcv3 ok 4 DDD 8 7 5 2 7 rcv1 ko 注意:我的真实数据有超过 100 个 markers 和大约 10 个不同的 rcv。 我失败的地方是从相应的rcv_name中获取rcv_value(使用mutate和case_when)。 感谢您的帮助。 数据: dat0 <- structure(list(marker = c("AAA", "BBB", "CCC", "DDD"), cv = c(7, 4, 11, 8), rcv1 = c(10, 5, 20, 7), rcv2 = c(8, 3, 15, 5), rcv3 = c(5, 1, 12, 2)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -4L)) 在这种情况下,重新整形为长会让事情变得更加简单。首先使用 tidyr::pivot_longer(),然后使用 dplyr::group_by() 标记,然后使用 tidyr::pivot_wider() 将数据恢复到原始形状。 library(dplyr) library(tidyr) dat0 |> pivot_longer( -c(marker, cv), names_to = "rcv" ) |> mutate( rcv_value = min(value[value > cv]), cv_conclusion = if_else(is.infinite(rcv_value), "ko", "ok"), rcv_value = if_else(is.infinite(rcv_value), max(value), rcv_value), rcv_name = rcv[rcv_value == value], .by = marker ) |> pivot_wider( id_cols = c(marker, cv, rcv_value, rcv_name, cv_conclusion), names_from = rcv, values_from = value ) |> select( marker, cv, rcv1:rcv3, rcv_value:cv_conclusion ) # # A tibble: 4 × 8 # marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion # <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> # 1 AAA 7 10 8 5 8 rcv2 ok # 2 BBB 4 5 3 1 5 rcv1 ok # 3 CCC 11 20 15 12 12 rcv3 ok # 4 DDD 8 7 5 2 7 rcv1 ko

回答 1 投票 0

在R中使用grep查找文件名

我正在尝试直接从互联网下载地理形状文件到R中。例如,这里是包含形状文件的网站:https://www12.statcan.gc.ca/census-recensement/

r
回答 1 投票 0

lavaan 错误 - 未计算标准误差 - R

我已经创建了一份调查问卷。该问卷由四个子量表组成,测量我感兴趣的变量的 4 个不同组成部分。每个分量表由3个项目组成。每个项目都是 6...

回答 2 投票 0

在 dplyr mutate 中使用自定义 case_when 函数

我已经查看了许多与我的问题相关的帖子,但我似乎无法弄清楚我的问题。 我有一个基本表,随着收集(NFL 赛季)的继续,该表将包含附加列。我无法...

回答 1 投票 0

使用 gtsummary 进行弗里德曼测试

我正在尝试在内部执行 frideman 测试并将 add_p() 函数添加到 tbl_summary() 问题是 frideman 测试假设完整的块 所以我将它添加为一个函数来排除不完整的 b...

回答 1 投票 0

Python 或 R 中的饼瓣图

问题:我正在尝试生成一个类似于下图的图,其中我有五个类别,每个类别都表示为一个气泡。气泡的大小反映了每个类别的数值。

回答 1 投票 0

R 函数可找到数据框中对象的最佳排名?

我正在尝试找到 n 个产品列表的最佳顺序,以最大化收入。 例子: 产品 位置 1 位置 2 位置 3 X $0.38 $0.17 ...

回答 2 投票 0

传播或收集小标题[重复]

我从 API API ANBIMA 获得了一个小标题,它将数据放入两列中,一列包含我想要成为行的变量的名称,另一列包含值。我试图把第一列...

回答 1 投票 0

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