我必须分析经济学实验的数据。 所以我有一个数据库(14 976个障碍物),我将其分为两个:一个用于卖家 - 他们是类型1(7488个障碍物),另一个用于购买者类型2(7488障碍物),每个都有212个变量。
在这里,您拥有两个数据库的一部分:
sellers
ID Gender Period Matching group Group Type Overcharging ...
654 1 1 73 1 1 NA
654 1 2 73 1 1 NA
654 1 3 73 1 1 NA
654 1 4 73 1 1 NA
435 1 1 73 2 1 NA
435 1 2 73 2 1 NA
435 1 3 73 2 1 NA
435 1 4 73 2 1 NA
buyers
ID Gender Period Matching group Group Type Overcharging ...
708 0 1 73 1 2 1
708 0 2 73 1 2 0
708 0 3 73 1 2 0
708 0 4 73 1 2 1
546 1 1 73 2 2 0
546 1 2 73 2 2 0
546 1 3 73 2 2 1
546 1 4 73 2 2 0
我有许多变量,比如过度充电,其中信息放在买家行而不是卖家。所以我想做的是在卖家数据库中替换这些信息。
为此我有很多信息: 在匹配组73中,我们知道例如在第1期主题708被过度充电(组1中的那个)。据我所知,这些人属于第1组和匹配组73,我能够识别出在第1期多收他的卖家:主题654,性别= 1。
所以,我想在卖家数据框架上过度收费(和其他一些)买家价值,以分析卖家的行为,但在正确的时间段,对于正确的群体和正确的匹配群体。
谢谢!感谢帮助...
答案 0 :(得分:0)
您可以执行合并以获取所需信息。
const C* cObj;
void* obj = (void*)cObj;
现在,如果我正确地编写了上面的代码,那么应该将Overcharging_Buyers列添加到卖家表的副本中。由于4个列名称中的3个匹配,因此合并函数应自动合并这些列,并将不匹配的列添加为新列。然后,您可以使用新添加的信息替换原始的Overcharging列。
有关合并功能的更多信息,请参阅here。
答案 1 :(得分:0)
希望这有帮助!
library(dplyr)
#join both dataframes on common columns
merged_df <- left_join(sellers, buyers, by=c('Period', 'Matching_group', 'Group'))
#find row_index which have missing "Overcharging" in sellers
idx <- which(is.na(merged_df$Overcharging.x))
merged_df[idx, "Overcharging.x"] <- merged_df[idx, "Overcharging.y"]
#drop unwanted columns to have the updated sellers
sellers_updated <- merged_df[,-c(dim(sellers)[2]+1: dim(merged_df)[2])]
colnames(sellers_updated) <- colnames(sellers)
sellers_updated