Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何收集按tidyr顺序编号的列_R_Tidyr - Fatal编程技术网

如何收集按tidyr顺序编号的列

如何收集按tidyr顺序编号的列,r,tidyr,R,Tidyr,我有一组列,如下所示 rowid TimePoint2 TimePoint3 TimePoint4 TimePoint5 TimePoint6 我想整理数据,但当我使用粘贴函数时,聚集函数无法识别列名 我想要的是 rowid 1 TimePoint2 43 2 TimePoint3 34 3 TimePoint4 24 4 TimePoint5 22 5 TimePoint6 44 等 我的代码: 因此,与其写:

我有一组列,如下所示

rowid   TimePoint2   TimePoint3    TimePoint4     TimePoint5    TimePoint6
我想整理数据,但当我使用粘贴函数时,聚集函数无法识别列名 我想要的是

rowid
1   TimePoint2    43
2   TimePoint3    34
3   TimePoint4    24
4   TimePoint5    22
5   TimePoint6    44

我的代码:

因此,与其写:

y="TimePoint"
  Mydf<-
    select(df,matches(y),rowid)%>%
    gather(variable, value, TimePoint1,TimePoint2,TimePoint3,TimePoint4,TimePoint5,TimePoint6)
y=“时间点”
多年筹资框架%
聚集(变量、值、时间点1、时间点2、时间点3、时间点4、时间点5、时间点6)
我想写一些像:

y="TimePoint"
  Mydf<-
    select(df,matches(y),rowid)%>%
    gather(variable, value, paste(y,1:10,",",sep=""))
y=“时间点”
多年筹资框架%
聚集(变量、值、粘贴(y,1:10,“,”,sep=”“)
我在上面得到的错误是
error:所有select()输入都必须resp;将ve转换为整数列位置。以下内容不适用:*粘贴(y,1:10,”,sep=“”)
我相信您可以做到:

Mydf <- select(df,matches(y),rowid)%>%
    gather(variable, value, starts_with("TimePoint"))
Mydf%
聚集(变量、值、以(“时间点”)开头)
我相信你可以做到:

Mydf <- select(df,matches(y),rowid)%>%
    gather(variable, value, starts_with("TimePoint"))
Mydf%
聚集(变量、值、以(“时间点”)开头)

由于您选择的是与“时间点”匹配的列,这也将起作用:

library(dplyr)
library(tidyr)
y <- "TimePoint"
Mydf <- df %>% select(rowid,matches(y)) %>% 
               gather(variable,value,-1)
print(Mydf)
##  rowid   variable value
##1     1 TimePoint2    43
##2     1 TimePoint3    34
##3     1 TimePoint4    24
##4     1 TimePoint5    22
##5     1 TimePoint6    44

由于您正在选择与“时间点”匹配的列,这也将起作用:

library(dplyr)
library(tidyr)
y <- "TimePoint"
Mydf <- df %>% select(rowid,matches(y)) %>% 
               gather(variable,value,-1)
print(Mydf)
##  rowid   variable value
##1     1 TimePoint2    43
##2     1 TimePoint3    34
##3     1 TimePoint4    24
##4     1 TimePoint5    22
##5     1 TimePoint6    44

我认为您可以使用dplyr中的
开始,就像您在
选择()
中一样。好的,太好了。请添加一个答案,我认为您可以使用dplyr中的
开始,就像您在
选择()
中一样。好的,太好了。请加上答案