r - 带有刻面网格的哑铃图错误,无法创建并排图
问题描述
错误:至少一层必须包含所有分面变量:Trial_type
, Session.
.
- 剧情缺失
Trial_type
,Session.
- 缺少第 1 层
Session.
- 缺少第 2 层
Session.
- 缺少第 3 层
Session.
- 缺少第 4 层
Session.
- 缺少第 5 层
Trial_type
,Session.
- 第 6 层丢失
Session.
运行rlang::last_error()
以查看错误发生的位置。另外:警告消息:1:在 min(x) 中:min 没有非缺失参数;返回 Inf 2:在 max(x) 中:max 没有非缺失参数;返回 -Inf 3: In min(x) : min 没有非缺失参数;返回 Inf 4:在 max(x) 中:max 没有非缺失参数;返回-Inf
data10A <- structure(list(Session = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), conditon2 = structure(c(10L,
4L, 12L, 6L, 11L, 5L, 1L, 7L, 3L, 9L, 2L, 8L, 10L, 4L, 12L, 6L,
11L, 5L, 1L, 7L, 3L, 9L, 2L, 8L), .Label = c("CEN_LLL", "CTL_LLL",
"IPS_LLL", "CEN_RRR", "CTL_RRR", "IPS_RRR", "CEN_RLR", "CTL_RLR",
"IPS_RLR", "CEN_LRL", "CTL_LRL", "IPS_LRL"), class = "factor"),
Trial_type = structure(c(2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L,
1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L,
2L), .Label = c("Retention", "Transfer"), class = "factor"),
NormalizedJerk_102 = c(1270.168699, 2099.703957, 3259.268053,
1152.257445, 3810.890123, 4601.918336, 1792.371775, 1288.768888,
2699.08162, 1650.968794, 2018.457394, 6159.567785, 931.350429,
1053.84252, 1611.673955, 1034.363607, 5352.195367, 2499.83996,
1560.678962, 915.3845866, 1948.757464, 1341.815274, 2113.732859,
2051.140838), NormalizedJerk_104 = c(853.7034116, 924.8554548,
2268.966702, 675.7160839, 2442.874632, 1603.954653, 1010.111276,
794.1752256, 1313.813984, 1197.638788, 1039.577947, 3125.131019,
561.2311988, 767.7541159, 1019.744071, 769.6067294, 2232.404471,
1292.509181, 884.8343164, 663.0273865, 1230.369444, 717.8466364,
1536.027898, 1027.358586), key = c("Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk", "Change in normalized jerk",
"Change in normalized jerk")), row.names = c(NA, -24L), class = c("tbl_df",
"tbl", "data.frame"))
library(tidyverse)
library(dumbbell)
dumbbell::dumbbell(data10A, id = "conditon2", key = "Trial_type",
leg = "Test",
column1 = "NormalizedJerk_102",
column2 = "NormalizedJerk_104",
delt = 1, lab1 = "Pre-test", lab2 = "Post-test",
p_col1 = "black", p_col2 = "grey40",
textsize = 4, segsize = 1.5,
pointsize = 2.5,
title = "Change in Normalized jerk from Pre- to Post-test") +
facet_wrap( Trial_type ~ Session., scales="free", ncol=2) +
theme(axis.text.x = element_text(size = 12, face = "bold"),
axis.text.y = element_text(size = 11, face = "bold"),
legend.position = "right",
legend.text = element_text(size = 12),
legend.title = element_text(size = 14),
strip.text = element_text(face = "bold", size = 14, color = "black"))
解决方案
问题是dumbbell::dumbbell
在构建哑铃图之前会进行一些数据预处理ggplot2
。除其他外,在此步骤中删除了不必要的列,即仅dumbbell
保留在参数中指定的列,而在您的情况下包括您的列的所有其他列都Session
被删除。因此,您无法通过Session
.
一种解决方法是向您的数据添加一个新的键列,这只是 和 的Trial_type
交互Session
。然后,您可以将此键列传递给key
参数 offdumbbell
并可用作构面变量:
library(ggplot2)
library(dumbbell)
data10A$key <- paste(data10A$Trial_type, data10A$Session, sep = "\n")
dumbbell::dumbbell(data10A, id = "conditon2", key = "key",
leg = "Test",
column1 = "NormalizedJerk_102",
column2 = "NormalizedJerk_104",
delt = 1, lab1 = "Pre-test", lab2 = "Post-test",
p_col1 = "black", p_col2 = "grey40",
textsize = 4, segsize = 1.5,
pointsize = 2.5,
title = "Change in Normalized jerk from Pre- to Post-test") +
facet_wrap( ~ key, scales="free", ncol=2) +
theme(axis.text.x = element_text(size = 12, face = "bold"),
axis.text.y = element_text(size = 11, face = "bold"),
legend.position = "right",
legend.text = element_text(size = 12),
legend.title = element_text(size = 14),
strip.text = element_text(face = "bold", size = 14, color = "black"))
由reprex 包(v2.0.1)于 2021 年 11 月 14 日创建
推荐阅读
- autohotkey - #If 指令后变量不可访问
- powershell - 如何将 CSV Host_Name 字段与 Hashtable Host_Name 字段进行比较,然后将数据以文本格式合并到 Out-File
- oauth-2.0 - 了解 OAuth2 的流程
- python-3.x - 从 cvs 文件中分析 Logdata 全部写成一长行
- java - 检测视图是否添加到布局中
- android - WebView 重置 UiMode 并打破黑暗主题
- swift - 如何使用 audioFileUrls 实现 OperationQueue - Swift - Xcode 11 beta 5
- javascript - 如何使用 Discord.js 限制或授予对 Discord 机器人的访问权限?
- selenium - getWindowHandle() 抛出错误消息“Nullpointerexception”
- javascript - 如何从另一个中间件获取数据?