我有一个关于在 R 中跨数据集应用函数的两部分问题。
i)首先,我有 2 个数据帧,我想迭代地组合和配对,这样像 cbind 函数之类的东西会将每个数据帧的第一列彼此相邻排列,然后是第二列,依此类推。在下面的示例中,我想要一个组合 df1 和 df2 的输出,其中列顺序为 eg1、eg4、eg2、eg5、eg3、eg6。
eg1 <- as.data.frame(matrix(sample(0:1000, 36*10, replace=TRUE), ncol=1))
eg2 <- as.data.frame(matrix(sample(0:500, 36*10, replace=TRUE), ncol=1))
eg3 <- as.data.frame(matrix(sample(0:750, 36*10, replace=TRUE), ncol=1))
df1 <- cbind(eg1,eg2,eg3)
eg4 <- as.data.frame(matrix(sample(0:200, 36*10, replace=TRUE), ncol=1))
eg5 <- as.data.frame(matrix(sample(0:100, 36*10, replace=TRUE), ncol=1))
eg6 <- as.data.frame(matrix(sample(0:350, 36*10, replace=TRUE), ncol=1))
df2 <- cbind(eg4,eg5,eg6)
我知道这样做的手动方式(如下),但是在组合更大的数据集时这并不理想,我想知道是否有更有效的方法来实现这一点?
df3 <- cbind(df1,df2)
df3 <- df3[,c(1,4,2,5,3,6)]
(ii) 在此之后,我想根据相应偶数列中的 7 个最高值在每个奇数列中输出 7 个值。例如,对于前两列...
df4 <- df3[,1:2]
High_7 <- tail(df4[order(df4[,2]),],7)#Highest 7 values in even column
High_7 <- High_7[,1] #Select odd column values
但是在整个数据集中使用它的示例,也许通过某种形式的应用函数会更有效。