2

假设我有三个名为 A1-pre、B3-pos、B4-pre 的数据帧,我想合并这些数据帧。这些列具有相同的名称,因此我可以使用 rbind。

newdf <- rbind(A1-pre, B3-pos, B4-pre)  #this would work

但是,我不想自己手动输入数据框的所有名称,我宁愿使用通配符,所以像

newdf <- rbind(grep(-)) #but this does not work

知道我该怎么做吗?甚至更好的是,匹配任何名为“pre”或“pos”的数据框并将它们全部绑定。

4

1 回答 1

3

你可以用get()and做到这一点ls()

'A1-pre' <- matrix(rnorm(100), 5) 
'B3-pos' <- matrix(rnorm(100), 5)
'B4-pre' <- matrix(rnorm(100), 5)
'C5-not' <- matrix(rnorm(100), 5)

names <- grep('pre|pos$', ls(), value=T)

newDF <- mapply(get, grep('pre|pos$', ls(), value=T))
于 2014-02-03T15:23:44.037 回答