【问题标题】:Is there any way to deselect few variables by using their names in pivot_longer function in tidyr in R有没有办法通过在 R 中的 tidyr 的 pivot_longer 函数中使用它们的名称来取消选择少数变量
【发布时间】:2020-06-03 16:19:28
【问题描述】:

有什么方法可以在 pivot_longer 函数的 cols 参数中选择所有变量,但取消选择一些变量并选择其余变量。

pivot_longer(data_frame, cols=everything()-A_variable-B_variable,names_to="Names",values_to="Values")

【问题讨论】:

  • 你不能管data_frame%>%select(-A_variable,-B_variable)%>%pivot_longer(etc)吗?
  • 我很确定 data_frame%>%pivot_longer(-c(A_variable,B_variable)) 应该可以工作
  • 尝试像这样定义选择:cols=-c(A_variable, B_variable)cols= c(-A_variable, -B_variable)

标签: r pivot-table tidyr


【解决方案1】:

我相信最简单的方法是首先使用select 删除不需要的列,然后将其他所有内容重新调整为长格式。

这是一个带有内置数据集mtcars 的示例。 取消选择列是vsam

data(mtcars)

mtcars %>%
  select(-vs, -am) %>%
  pivot_longer(
    cols = everything(),
    names_to = "Names",
    values_to = "Values"
  )
## A tibble: 288 x 2
#   Names Values
# * <chr>  <dbl>
# 1 mpg    21   
# 2 cyl     6   
# 3 disp  160   
# 4 hp    110   
# 5 drat    3.9 
# 6 wt      2.62
# 7 qsec   16.5 
# 8 gear    4   
# 9 carb    4   
#10 mpg    21   
## … with 278 more rows

【讨论】:

  • 谢谢@Rui Barradas,我试过pivot_longer(data_frame, cols=c(-A_variable,-B_variable),names_to="Names",values_to="Values"),它成功了..
猜你喜欢
  • 2021-12-11
  • 1970-01-01
  • 2020-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多