我有一些包含数字的集合,分别命名为k1,k2,k3,k4 ... k20。现在,我想基于它们创建一个数据框。我将如何循环?我目前的想法是
k1 <- c(1,2,3)
k2 <- c(2,3,4)
k3 <- c(4,5,6)
...
k20<- c(3,4,5)
i <- 1
df1 <- c()
which (i <= parameter){
df1 <- dataframe(df1,ki)
i = i+1
}
#What I want to do is build different size of dataframe by given a parameter
#when parameter = 15 then df1 <- dataframe (k1,k2,k3...,k15)
# when parameter = 12 then df1 <- dataframe (k1,k2,k3...,k12)
但是没有用。谁能给我一些有关该怎么做的提示?谢谢
答案 0 :(得分:2)
您可以将LifecycleOwner
与ls
一起使用,以获取以pattern
开头的对象,然后使用k
将对象子集化,并使用1:n
对向量进行排序根据它们的名称(以避免mixedsort
在k11
之前被拾取)并放置所有这一个数据帧。
k2
数据
library(gtools)
n = 5
object_name <- mixedsort(ls(pattern = "^k"))[1:n]
data.frame(mget(object_name))
# k1 k2 k3 k4 k5
#1 1 2 4 3 3
#2 2 3 5 4 4
#3 3 4 6 5 5
n = 2
object_name <- mixedsort(ls(pattern = "^k"))[1:n]
data.frame(mget(object_name))
# k1 k2
#1 1 2
#2 2 3
#3 3 4