【发布时间】:2018-01-15 15:20:57
【问题描述】:
我正在编写一个函数,它使用gather 将宽格式数据帧转换为长格式数据帧。这是我想做的一个例子:
library(tidyr)
library(dplyr)
###simulated data
z0 <- data.frame(id = 1:10,
A.pre = rnorm(10),
B.pre = rnorm(10),
A.Post = rnorm(10),
B.Post = rnorm(10))
####data.frame with info about variables in z0
choix <- data.frame(var = colnames(z0),
pairs = c(NA, "A", "B", "A", "B"),
stringsAsFactors = F)
i <- "A"
z0 %>%
select(c("id", choix[choix$pairs %in% i, 1] )) %>%
gather(time, i, choix[choix$pairs %in% i, 1])
这个想法是获得一个长格式的数据帧,变量id,time和A,存储在对象i中的字符。但是得到的数据框的名字是id、time、i。如何使收集来评估对象i并使用其内容?
【问题讨论】:
-
对不起,我不会再这样做了