我有多个数据框,每个数据框由一个变量(列)和几千个观察(行)组成。字符值是为特定事件/ time_span生成的Twitter帐户的屏幕名称。
tweets <- parseTweets("Event_X.json", verbose = FALSE)
screen_names <- tweets$screen_names
names.df <- as.data.frame(screen_names)
names_unique <- unique(names.df)
head(names_unique)
Screen_Names_Event_X
1 Account_A
2 Account_B
9 Account_C
10 Account_D
... ...
另一个数据框示例:
Screen_Names_Event_Z
1 Account_F
2 Account_Z
7 Account_P
12 Account_A
... ...
现在,我想创建一个矩阵或数据框,以找出不同事件中哪个帐户处于活动状态。我不太清楚如何做到这一点。我正在寻找这样的解决方案:
Screen_Names Event_X Event_Y Event_Z
Account_A TRUE FALSE TRUE
Account_B TRUE TRUE FALSE
Account_F FALSE TRUE FALSE
答案 0 :(得分:0)
由于您的例子不可复制,因此很难完成一个完整的工作代码。但是你应该创建一个data.frame,其中一列代表名称,另一列只有一列代表。
data_frame_1 <- data.frame(acc_name = c("Account_1","Account_2","Account_10"),check1 =1)
data_frame_2 <- data.frame(acc_name = c("Account_3","Account_1","Account_4","Account_10"),check2 =1)
data_frame_3 <- data.frame(acc_name = c("Account_6","Account_7","Account_2","Account_10"),check3 =1)
data_frame_all <- Reduce(function(x, y) merge(x, y, all=TRUE), list(data_frame_1, data_frame_2, data_frame_3))
final <- data.frame(data_frame_all$acc_name, !is.na(data_frame_all[,colnames(data_frame_all)!="acc_name"]))
final
data_frame_all.acc_name check1 check2 check3
1 Account_1 TRUE TRUE FALSE
2 Account_10 TRUE TRUE TRUE
3 Account_2 TRUE FALSE TRUE
4 Account_3 FALSE TRUE FALSE
5 Account_4 FALSE TRUE FALSE
6 Account_6 FALSE FALSE TRUE
7 Account_7 FALSE FALSE TRUE
编辑: 为了使其与您的代码一起使用,我们的想法是使用您的帐户列表创建数据框,如下所示:
tweets <- parseTweets("Event_X.json", verbose = FALSE)
screen_names <- tweets$screen_names
names.df <- as.data.frame(screen_names)
names_unique <- unique(names.df)
data_frame_1 <- data.frame(acc_name = names_unique, Event_X = 1)
对每个事件执行相同操作,然后使用第一个代码的其余部分合并数据框。