Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 - Fatal编程技术网

R 如何将值从一个表复制到另一个表

R 如何将值从一个表复制到另一个表,r,R,我有两个被分组在一起的数据帧(SQL中的rbind或Union)。数据可以更好地表示,因为现在用户看到的是两行,而不是一行。具体来说,用户希望在一行而不是两行中看到酒店价格和其他酒店信息(两行是因为必须创建rbind-dummy列以匹配列的数量)。下面是要实现的示例(请注意,两个数据帧中的属性不匹配): df1您正在尝试执行与连接等效的操作。R的merge可以很好地完成这一点 首先预处理数据,去除数据帧中的NA列: df1_new <- df1[,-4] df2_new <- df2

我有两个被分组在一起的数据帧(SQL中的rbind或Union)。数据可以更好地表示,因为现在用户看到的是两行,而不是一行。具体来说,用户希望在一行而不是两行中看到酒店价格和其他酒店信息(两行是因为必须创建rbind-dummy列以匹配列的数量)。下面是要实现的示例(请注意,两个数据帧中的属性不匹配):


df1您正在尝试执行与连接等效的操作。R的
merge
可以很好地完成这一点

首先预处理数据,去除数据帧中的NA列:

df1_new <- df1[,-4]
df2_new <- df2[,-3]
Merge具有参数,用于控制要合并的列以及在不匹配的情况下保留哪些数据行

或者在一行中:
merge(df1[,-4],df2[,-3])

这只保留匹配的值:

         Property      Dates  RateAmount Occupancy
1  Property_a 2018-08-01  77.0288921  84.97796
2  Property_b 2018-08-02 234.1155289  84.67847
3  Property_c 2018-08-03 347.3747234  86.52871
4  Property_d 2018-08-04   0.7615909  85.14532
5  Property_e 2018-08-05  71.6080894  83.76476
6  Property_f 2018-08-06 171.5747186  86.05425
7  Property_g 2018-08-07  67.7377617  83.22948
8  Property_h 2018-08-08  23.6833664  86.16361
9  Property_i 2018-08-09 468.6021860  82.85337
10 Property_j 2018-08-10 250.3918442  85.03492
如果希望保留所有值,例如,可以设置all=TRUE

merge(df1[,-4],df2[,-3],all=TRUE)

      Property      Dates  RateAmount Occupancy
1   Property_a 2018-08-01  77.0288921  84.97796
2   Property_b 2018-08-02 234.1155289  84.67847
3   Property_c 2018-08-03 347.3747234  86.52871
4   Property_d 2018-08-04   0.7615909  85.14532
5   Property_e 2018-08-05  71.6080894  83.76476
6   Property_f 2018-08-06 171.5747186  86.05425
7   Property_g 2018-08-07  67.7377617  83.22948
8   Property_h 2018-08-08  23.6833664  86.16361
9   Property_i 2018-08-09 468.6021860  82.85337
10  Property_j 2018-08-10 250.3918442  85.03492
11  Property_k 2018-08-01  77.0288921        NA
12  Property_l 2018-08-02 234.1155289        NA
13  Property_m 2018-08-03 347.3747234        NA
14  Property_n 2018-08-04   0.7615909        NA
15 Property_NA 2018-08-07  67.7377617        NA
16 Property_NA 2018-08-08  23.6833664        NA
17 Property_NA 2018-08-09 468.6021860        NA
18 Property_NA 2018-08-10 250.3918442        NA
19  Property_o 2018-08-05  71.6080894        NA
20  Property_p 2018-08-06 171.5747186        NA
21  Property_q 2018-08-07  67.7377617        NA
22  Property_r 2018-08-08  23.6833664        NA
23  Property_s 2018-08-09 468.6021860        NA
24  Property_t 2018-08-10 250.3918442        NA
25  Property_u 2018-08-01  77.0288921        NA
26  Property_v 2018-08-02 234.1155289        NA
27  Property_w 2018-08-03 347.3747234        NA
28  Property_x 2018-08-04   0.7615909        NA
29  Property_y 2018-08-05  71.6080894        NA
30  Property_z 2018-08-06 171.5747186        NA

df1$rateamunit=df2$occulation[match(df1$Property,df2$Property)]
或者可能是
df2[is.na(df2)]对不起,伙计们,我没有提到这些属性不匹配。df1(带有RateAmount)的属性数是df2的3倍。我会在帖子中更新。唯一匹配的是Dates列。
         Property      Dates  RateAmount Occupancy
1  Property_a 2018-08-01  77.0288921  84.97796
2  Property_b 2018-08-02 234.1155289  84.67847
3  Property_c 2018-08-03 347.3747234  86.52871
4  Property_d 2018-08-04   0.7615909  85.14532
5  Property_e 2018-08-05  71.6080894  83.76476
6  Property_f 2018-08-06 171.5747186  86.05425
7  Property_g 2018-08-07  67.7377617  83.22948
8  Property_h 2018-08-08  23.6833664  86.16361
9  Property_i 2018-08-09 468.6021860  82.85337
10 Property_j 2018-08-10 250.3918442  85.03492
merge(df1[,-4],df2[,-3],all=TRUE)

      Property      Dates  RateAmount Occupancy
1   Property_a 2018-08-01  77.0288921  84.97796
2   Property_b 2018-08-02 234.1155289  84.67847
3   Property_c 2018-08-03 347.3747234  86.52871
4   Property_d 2018-08-04   0.7615909  85.14532
5   Property_e 2018-08-05  71.6080894  83.76476
6   Property_f 2018-08-06 171.5747186  86.05425
7   Property_g 2018-08-07  67.7377617  83.22948
8   Property_h 2018-08-08  23.6833664  86.16361
9   Property_i 2018-08-09 468.6021860  82.85337
10  Property_j 2018-08-10 250.3918442  85.03492
11  Property_k 2018-08-01  77.0288921        NA
12  Property_l 2018-08-02 234.1155289        NA
13  Property_m 2018-08-03 347.3747234        NA
14  Property_n 2018-08-04   0.7615909        NA
15 Property_NA 2018-08-07  67.7377617        NA
16 Property_NA 2018-08-08  23.6833664        NA
17 Property_NA 2018-08-09 468.6021860        NA
18 Property_NA 2018-08-10 250.3918442        NA
19  Property_o 2018-08-05  71.6080894        NA
20  Property_p 2018-08-06 171.5747186        NA
21  Property_q 2018-08-07  67.7377617        NA
22  Property_r 2018-08-08  23.6833664        NA
23  Property_s 2018-08-09 468.6021860        NA
24  Property_t 2018-08-10 250.3918442        NA
25  Property_u 2018-08-01  77.0288921        NA
26  Property_v 2018-08-02 234.1155289        NA
27  Property_w 2018-08-03 347.3747234        NA
28  Property_x 2018-08-04   0.7615909        NA
29  Property_y 2018-08-05  71.6080894        NA
30  Property_z 2018-08-06 171.5747186        NA