我产生一个数据帧从网站若干源被预先清洁,然后与选择的
cleans <- ls()
cleans <- cleans[grepl("Clean_News", cleans)]
我第一次将它们绑定在一起的尝试灵感来自于堆栈溢出的解决方案:
All_News <- mapply(get, grep("Clean_News", ls(), value=T))
All_News <- data.frame(t(All_News))
All_News <- as.data.frame(All_News)
然而,这对我来说是一个问题,因为结果是一个数据帧,其中每列是整数或字符的列表。 所以,我的主要问题是如何在DF中的每个列表数据帧中转换为常规列。 我试图对堆栈溢出许多手工制作的功能,但没有工作对我来说(由于我没有经验,我想...)。 东风的形式
All_News <- data.frame(a=I(list(1,1:2,1:3)), b=I(list(4:6,7:9,10:11)))
另外,我尝试以下,其工作原理:
All_News <- do.call(rbind, lapply(cleans, get))
但是,有着巨大的缺点,我没有得到数据帧作为rownames /或第一列到数据帧的名字成功......所以,我的第二个问题是如何将单个数据帧的名称附加到每个巨大的DF的行,而不是像下面的代码行的ID。
t2 <- rbindlist(lapply(cleans, get), idcol = "id")
这不太多好的,因为我需要所有的数据帧x的名字反复-times作为标识符,EG和因为这是与成千上万的网页的自动化过程,我不知道事先在每个数据帧的行数。 数据是这样的:
news1 data1 data2
news1 data5 data6
news2 data3 data4
and so on.
我想沿着这些线路的东西
nr <- length(cleans)
names <- rep(cleans, nr)
names <- sort(names)
但不是很成功。