R是一种免费的开源编程语言和软件环境,用于统计计算,生物信息学,可视化和通用计算。请提供最小和可重复的示例以及所需的输出。对数据使用`dput()`并使用`library()`调用指定所有非基本包。不要为数据或代码嵌入图片,而是使用缩进的代码块。有关统计相关问题,请使用https://stats.stackexchange.com。
我有一个 strast,其中包含我根据 u 和 v 分量计算出的当前速度信息。 如何根据时间和空间匹配从该 SPATRAST 中提取点到数据帧? 合作...
如何在 R 中使用 ggplot2 创建具有双 X 轴的绘图?
我正在尝试在 R 中创建一个显示两个重叠 X 轴的图: 其中一个是 Semana TW(今年的几周)。 其中一个是 Semana LY(去年的几周)。 目标是比较洛杉矶的销售额...
如何使用 R terra 在大型 DEM 栅格上生成高分辨率等高线?
当使用 my_line = terra::as.contour(dem,levels=single_elev) 计算数字高程模型 (DEM) 中的等高程线时,我注意到结果的准确性,即细节级别。 ..
如果笔画是 R 中 25 个内置形状的边框大小,从逻辑上讲它应该适用于每个形状(我们可以排除填充形状 15 到 20)。 ggplot ()+ geom_point(mapping=aes(x=1:5, y=1:5), sh...
对 R 来说还是很陌生(老实说是统计数据),我目前只将它用于简单的线性回归模型。但现在我的一个数据集清楚地显示出倒 U 型模式。我想我...
方法一: 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&
你能确认一下下一个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==
我有一个如下所示的数据集。我想用 1 替换两个 1 之间的所有点,如所需的结果所示。 我可以使用基本 R 中的正则表达式来执行此操作吗? 我试过: regexpr("^1\.1$", my.data...
我有一个带有两个变量的 data.table 形式的表示。其中之一是带有下拉日历的日期列。当我错误地在...的单元格中输入某些内容时,我希望弹出一个shinyAlert()。
我尝试使用出色的包 dlookr 执行探索性数据分析 (EDA)。我的结果变量是二元的。 raw_data[1:200, c(1:15, 599)] %>% eda_web_report(output_file = "temp....
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'))
让我们考虑一下标记及其变异系数 (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" 的列。
让我们考虑一下标记及其变异系数 (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
我正在尝试直接从互联网下载地理形状文件到R中。例如,这里是包含形状文件的网站:https://www12.statcan.gc.ca/census-recensement/
我已经创建了一份调查问卷。该问卷由四个子量表组成,测量我感兴趣的变量的 4 个不同组成部分。每个分量表由3个项目组成。每个项目都是 6...
在 dplyr mutate 中使用自定义 case_when 函数
我已经查看了许多与我的问题相关的帖子,但我似乎无法弄清楚我的问题。 我有一个基本表,随着收集(NFL 赛季)的继续,该表将包含附加列。我无法...
我正在尝试在内部执行 frideman 测试并将 add_p() 函数添加到 tbl_summary() 问题是 frideman 测试假设完整的块 所以我将它添加为一个函数来排除不完整的 b...
问题:我正在尝试生成一个类似于下图的图,其中我有五个类别,每个类别都表示为一个气泡。气泡的大小反映了每个类别的数值。
我正在尝试找到 n 个产品列表的最佳顺序,以最大化收入。 例子: 产品 位置 1 位置 2 位置 3 X $0.38 $0.17 ...
我从 API API ANBIMA 获得了一个小标题,它将数据放入两列中,一列包含我想要成为行的变量的名称,另一列包含值。我试图把第一列...