Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中创建具有动态列长度的数据帧_R_Dataframe - Fatal编程技术网

如何在R中创建具有动态列长度的数据帧

如何在R中创建具有动态列长度的数据帧,r,dataframe,R,Dataframe,我在R中创建数据帧,如下所示 len5<-data.frame("C1"=character(0),"C2"=character(0),"C3"=character(0),"C4"=character(0),"C5"=character(0), stringsAsFactors=FALSE) len6<-data.frame("C1"=character(0),"C2"=character(0),"C3"=character(0),"C4"=character(0),"C5"=ch

我在R中创建数据帧,如下所示

len5<-data.frame("C1"=character(0),"C2"=character(0),"C3"=character(0),"C4"=character(0),"C5"=character(0), stringsAsFactors=FALSE)

len6<-data.frame("C1"=character(0),"C2"=character(0),"C3"=character(0),"C4"=character(0),"C5"=character(0),"C6"=character(0),stringsAsFactors=FALSE)

len7<-data.frame("C1"=character(0),"C2"=character(0),"C3"=character(0),"C4"=character(0),"C5"=character(0),"C6"=character(0),"C7"=character(0),stringsAsFactors=FALSE)

len5我们可以使用
lappy
创建
数据帧的
列表。最好将其保留在
列表中,而不要在全局环境中创建多个对象

i1 <- 5:15
lst <- lapply(i1, function(x)  data.frame(setNames(replicate(x,character(0)), 
                           paste0("C", seq_len(x))), stringsAsFactors = FALSE))
names(lst) <- paste0("len", i1)

非常感谢您的快速帮助。它解决了我的问题。然而,只有一个快速的qs。有没有办法为每个项目(如lst1、lst2…lst 15)创建单独的列表?嗨,Akruri,我无法使用for循环在单个元素(如lst$len7、lst$len10)中插入数据。如何从循环内将数据分配给此列表项?@Tanmay我不清楚
lst1
lst15
。这里,我们有一个包含11个data.frame对象的列表。关于你的第二个问题,我不知道你是怎么做的,你能再详细一点吗?我有一个数组rept4,长度有点长。我必须根据大小分割数组,创建一个矩阵,然后分配给数据帧。现在如果我使用arr4len@Tanmay由于我不清楚,你可以用代码作为一个新问题发布吗
list2env(lst, .GlobalEnv)
str(len5)
#'data.frame':   0 obs. of  5 variables:
# $ C1: chr 
# $ C2: chr 
# $ C3: chr 
# $ C4: chr 
# $ C5: chr