【发布时间】:2019-07-12 12:08:07
【问题描述】:
我有一些这样的数据集;
mydata1_sorted <- data.frame(Col1 = runif(3,1,5),
Col2 = runif(3,1,5),
Col3 = runif(3,1,5))
mydata2_sorted <- data.frame(Col1 = runif(2,1,3),
Col2 = runif(2,1,3),
Col3 = runif(2,1,3))
mydata3_sorted <- data.frame(Col1 = runif(2,1,6),
Col2 = runif(2,1,6),
Col3 = runif(2,1,6))
我使用expand.grid函数如下,它工作正常。
expand.grid(mydata1_sorted$Col1, mydata2_sorted$Col1, mydata3_sorted$Col1)
但是,由于某些原因,我需要在下面的列表中应用完全相同的功能。
datalist <- list( group1=c("mydata1","mydata2","mydata3"),
group2 = c("mydata2","mydata3"),
group3 = c("mydata1","mydata3"))
为此,我编写了以下代码;
for(i in 1:length(datalist)) {
list_sorted <- paste0(datalist[[i]],"_sorted$Col1")
to_function <-noquote(paste(list_sorted, collapse=','))
result <- expand.grid(to_function)
print(result)
}
不幸的是,我还没有实现将向量传递给expend.grid 函数,因为输出只给出了expend.grid 内的字符。
我找到了一个类似的question,包括mget 函数。我尝试如下应用它,
mget(paste0("mydata", 1:3,"_sorted$Col1"))
但我有这个:
Error: value for ‘mydata1_sorted$Col1’ not found
请问有什么解决办法吗?
【问题讨论】:
标签: r