Как добавить наборы к циклу данных? - PullRequest
0 голосов
/ 03 января 2019

У меня есть несколько наборов, которые содержат числа и названы как 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)

Но она не сработала.Кто-нибудь может дать мне несколько советов, как мне это сделать?Спасибо

1 Ответ

0 голосов
/ 03 января 2019

Вы можете использовать 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

данные

k1 <- c(1,2,3)
k2 <- c(2,3,4)
k3 <- c(4,5,6)
k4 <- c(3, 4, 5)
k5 <- c(3,4,5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...