首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tidyr's gather_

使用tidyr's gather_
EN

Stack Overflow用户
提问于 2018-12-05 21:09:02
回答 1查看 107关注 0票数 0

可能是个简单的问题:

我想在这个data.frame上使用gather_

代码语言:javascript
复制
set.seed(1)
df <- data.frame(a=rnorm(10),b=rnorm(10),d=rnorm(10),id=paste0("id",1:10))

首先,使用gather

代码语言:javascript
复制
df %>% tidyr::gather(key=name,value=val,-id)

给我想要的结果。

但是,尝试像这样将其与gather_匹配:

代码语言:javascript
复制
df %>% tidyr::gather_(key_col="name",value_col="val",gather_cols="id")

并没有给出gather的用法。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-05 21:16:30

我想你想:

代码语言:javascript
复制
df %>% tidyr::gather_(key_col="name",value_col="val",gather_cols= c('a', 'b', 'd'))

     id name         val
1   id1    a -0.62645381
2   id2    a  0.18364332
3   id3    a -0.83562861
4   id4    a  1.59528080
5   id5    a  0.32950777
6   id6    a -0.82046838
7   id7    a  0.48742905
8   id8    a  0.73832471
9   id9    a  0.57578135
10 id10    a -0.30538839
...

因为您正在收集除id之外的所有列。尽管如此,如果您只想指定字符向量,那么gather仍然是一个选项(正如@Maurits所指出的,下划线后缀的版本是不推荐的):

代码语言:javascript
复制
> df %>% tidyr::gather(key="name",value="val",-"id")
     id name         val
1   id1    a -0.62645381
2   id2    a  0.18364332
3   id3    a -0.83562861
4   id4    a  1.59528080
5   id5    a  0.32950777
6   id6    a -0.82046838
7   id7    a  0.48742905
8   id8    a  0.73832471
9   id9    a  0.57578135
10 id10    a -0.30538839
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53640769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档