- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 tidyr 的 pivot_wider 函数同时转置两种值,如 vignette('pivot') 下的“每行多个观察”示例所示,但我不断收到奇怪的错误消息.
这是一个正在发生的事情的例子:
set.seed(5)
testdat <- data.frame(matrix(nrow=5,ncol=5))
colnames(testdat) <- c('rating','percent.Female','percent.Male','se.Female','se.Male')
testdat$rating <- c('Very good','Good','OK','Bad','Very bad')
testdat$percent.Female <- rnorm(5,.5,.2)
testdat$percent.Male <- 1 - testdat$percent.Female
testdat$se.Female <- rnorm(5,0.1,0.003)
testdat$se.Male <- rnorm(5,0.1,0.003)
testdat
rating percent.Female percent.Male se.Female se.Male
1 Very good 0.3318289 0.6681711 0.09819128 0.10368289
2 Good 0.7768719 0.2231281 0.09858350 0.09759466
3 OK 0.2489016 0.7510984 0.09809389 0.09675882
4 Bad 0.5140286 0.4859714 0.09914268 0.09952740
5 Very bad 0.8422882 0.1577118 0.10041432 0.09678472
testdat %>% pivot_longer(cols=-"rating",names_sep=".",names_to=c(".value","gender"),values_drop_na=T)
Error: Expected a vector, not NULL
Call `rlang::last_error()` to see a backtrace
In addition: Warning message:
Expected 2 pieces. Additional pieces discarded in 4 rows [1, 2, 3, 4]
我几乎完全按照小插图 - 为什么这不起作用?
最佳答案
代码出现问题是因为选项 names_sep="."
(您会在枢轴小插图中注意到,名称由 _ 而不是 . 分隔)
.
是一个特殊字符,用于匹配任何单个字符。如果你想指定你的变量名由实际的 .
字符本身分隔,你需要使用 names_sep="\\."
来转义它。
通过适当的转义,这个例子是这样的:
testdat %>%
pivot_longer(cols=-"rating", names_sep="\\.",
names_to=c(".value","gender"), values_drop_na=TRUE)
# A tibble: 10 x 4
rating gender percent se
<chr> <chr> <dbl> <dbl>
1 Very good Female 0.332 0.0982
2 Very good Male 0.668 0.104
3 Good Female 0.777 0.0986
4 Good Male 0.223 0.0976
5 OK Female 0.249 0.0981
6 OK Male 0.751 0.0968
7 Bad Female 0.514 0.0991
8 Bad Male 0.486 0.0995
9 Very bad Female 0.842 0.100
10 Very bad Male 0.158 0.0968
关于r - 在多列上使用 tidyr 的 pivot_wider 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60559808/
我可以使用以下方法对特定列进行 pivot_wider: new_df % pivot_longer(!c(id, value_col), names_to = "Cols", values_to
这个问题在这里已经有了答案: How to reshape data from long to wide format (11 个回答) 11 个月前关闭。 我想用pivot_wider为单个日期创建
我正在尝试转换长数据,以便重复行值成为标题。数据如下所示: # A tibble: 12 x 2 x1 x2 1 Position
我正在尝试将数据集从长到宽 reshape 。以下代码有效,但我很好奇是否有办法不提供值列并仍然使用 pivot_wider .在以下示例中,我必须创建一个临时列“val”才能使用 pivot_wid
我有什么: Symbol Date Value A. 07/20 10 A. 09/20. 12 B. 07/20. 15 B. 08/20. 19 VFINX. 07/20. 22 VFINX 08
Dataframe indrur 由变量 S447.1 组成,表示运输方式。我使用 dplyr 按变量分组并将其转换为宽格式。 library(dplyr) indrurmodes%
如果因子的级别存在,但在用作 names_from 参数时从未出现在数据中,我真的希望 pivot_wider 创建一个带有 NA 的列。例如,第一行给了我一个两列的 tibble,但我真的很喜欢下面
我试图从长到宽 reshape 我的数据,但在这里我需要创建名称列,例如 event1、event2、event3 等。换句话说,names_from 没有自然的候选者。争论。我尝试了几种不同的方法,
我有一个数据框,行和列中的变量都包含变量,因此我尝试使用数据透视表来整理数据。我的数据如下所示: head(df) # A tibble: 6 x 4 State Year Var
我的数据目前看起来像这样,列“Number_Code 基于每个不同的 Side_Effect: Session_ID Side_Effect Number_Code 1
这个问题在这里已经有了答案: Reshape multiple value columns to wide format (5 个答案) 关闭 2 年前。 我无法让我的数据框 pivot_wider
这个问题在这里已经有了答案: Reshape multiple value columns to wide format (5 个答案) 关闭 2 年前。 我无法让我的数据框 pivot_wider
我有以下类型的表: 经济特区类值1_1_1121_1_1521_1_2521_1_3111_1_3521_1_4111_1_5211_2_1121_2_152 为了在多个新列中传播“Class”列,从
我正在尝试转动它 df 1 38320858 recreation 6 11 2 38408709 business
我有一个在各个列中包含大量 NaN 的数据框。 df values 并使用 pivot_wider 将正数重新放回到它们原来的列中,然而,这失败了: library(tidyr) df %>% p
我有一个在各个列中包含大量 NaN 的数据框。 df values 并使用 pivot_wider 将正数重新放回到它们原来的列中,然而,这失败了: library(tidyr) df %>% p
我有以下用例 pivot_wider : 我有一个用逗号分隔的字符串的数据集。我想为每个逗号分隔值创建唯一的列,就像一个虚拟变量采用 1 s(存在值)和 0 s(值不存在)。 我可以使用下面显示的方法
我有这个数据: df_1 % pivot_longer(cols = c(x, y), names_to = 'factor', values_to = 'values',
我有以下我试图传播的数据集。 #create df df head(df) file_number reader event 3098129 aa fail
我对新的 tidyr::pivot_wider() 很着迷具有缺失值功能的函数。 它有时有效,有时无效。 这是一个可重现的示例: require('tidyr') df > green yellow
我是一名优秀的程序员,十分优秀!