【发布时间】:2015-12-16 03:06:06
【问题描述】:
我有一个列表,里面有很多对象。我想根据这个列表的属性创建一个表。
head(casscade.list)
$`444424960908754944`
screen_name tweet_id tweet_created_at retweet_screen_name
NerSeref 6.028628e+17 2015-05-25 11:44:24 Lasthowen
DURULMA_ZAMANI 6.028631e+17 2015-05-25 11:45:32 Lasthowen
ssari75 6.028647e+17 2015-05-25 11:52:10 Lasthowen
saintserif2009 6.028672e+17 2015-05-25 12:01:48 Lasthowen
Hejinilim 6.028721e+17 2015-05-25 12:21:13 Lasthowen
$`407136916317171712`
screen_name tweet_id tweet_created_at retweet_screen_name
isa_sakar 6.072663e+17 2015-06-06 15:22:18 cavurizmir
canfeda1923 6.072666e+17 2015-06-06 15:23:34 cavurizmir
Apolloniuss_58 6.072669e+17 2015-06-06 15:24:47 cavurizmir
我需要创建一个必须有这些的表;
table
retweet_screen_name screen_name length life(seconds)
Lasthowen Hejinilim 5 2209
cavurizmir Apolloniuss_58 3 149
- 第一行将是转发屏幕名称中的名称(因为它是重复的,其中一个就足够了),
- 第二行将是列表对象的最后一个屏幕名称
- 第三行将是列表对象的长度
- 第四行将是第一个 tweet_created_at 和最后一个列表对象之间的时间差
我使用了这个功能,它解决了一半的问题
get.summary <- function(i){
curr.frame = cascade.list[[i]]
return(c(unique(curr.frame$retweet_screen_name),curr.frame$screen_name[nrow(curr.frame)],
unique(curr.frame$retweet_created_at), curr.frame$tweet_created_at[nrow(curr.frame)],
nrow(curr.frame)))
}
还有这段代码:
cdf=data.frame(t(sapply(1:length(cascade.list),get.summary)))
它创建一个数据框,所有变量都在同一行中。
V1 V2
c("EastanbulTimes", "onuryasercan", "2010-12-20 15:18:22", "2015-05-19 18:28:25", "1") c("Lasthowen", "Apolloniuss_58", "2013-12-01 08:19:39", "2015-06-06 15:24:47", "3")
我需要修复数据框结构,它应该有 6 列和等于列表长度的行。我还需要添加时间变量。
提前感谢您的所有建议。
【问题讨论】: