r - 鉴于两者都没有共同的属性并且具有不同的行数,如何将变量从一个数据帧导入到另一个数据帧?
问题描述
我需要帮助。我有一个数据框,比如说,df1
有变量
x1,x2,x3,x4,x5
现在我有另一个数据框,比如说df2
,有变量
x6,x7,x8,x9,x10,...,x20
现在我想包含或附加
x6,x7,x8,x11,x20
从df2
到df1
。请注意,我们没有任何属性df1
和df2
共同点
dfi != dfj for i != j
df1
并且df2
没有相同的行数,也没有任何共同的属性。我知道可以使用循环来完成,但我的两个数据集都超过一百万次观察。也在merge()
这里append()
不起作用,因为没有共同的属性。
str(df2)
'data.frame': 173259 obs. of 308 variables:
$ Month.Date : Factor w/ 14 levels "1/1/2018","10/1/2017",..: 6 6 6 6 6 6 6 6 6 6 ...
$ Total.Subscriber.Line.International.Cost : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Subscriber.Line.LD.Cost : num 0.09 0.05 0 0 0 0 0.33 0 0.05 0 ...
$ Total.Subscriber.Line.Monthly.Margin : num -1.1 -1.06 -1 0 -1 -1 -0.36 -1 -1.05 0 ...
$ Total.Subscriber.Line.Monthly.Revenue : num -1 -1 -1 0 -1 -1 0 -1 -1 0 ...
$ Total.Subscriber.Line.Rate.Plan.MRC.Revenue : int -1 -1 -1 0 -1 -1 0 -1 -1 0 ...
$ Total.Subscriber.Line.Roaming.Revenue : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Subscriber.Line.Total.Monthly.Cost : num 0.1 0.06 0 0 0 0 0.36 0 0.05 0 ...
$ Total.Subscriber.Line.Interconnect.Cost : num 0.01 0.01 0 0 0 0 0.02 0 0 0 ...
$ Total.Subscriber.Line.Domestic.Voice.Roaming.Revenue: num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Subscriber.Line.Domestic.Voice.Roaming.Cost : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Subscriber.Line.Domestic.Data.Roaming.Cost : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Subscriber.Line.Device.Cost : num 190 1 1 1 1.01 1 190 190 1 190 ...
$ Total.Subscriber.Line.Data.Roaming.Revenue : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Status.Changes.In.Month : int 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.2G.Cost : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.3G.Cost : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.4G.Cost : num 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.Wifi.Cost : int 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Device.Changes.In.Month : int 0 0 1 0 0 0 1 0 0 1 ...
$ Total.Price.Plan.Changes.In.Month : int 0 0 1 1 0 2 1 0 0 1 ...
$ Total.Records : int 1 1 1 1 1 1 1 1 1 1 ...
$ Zip.Plus.4.Code : logi NA NA NA NA NA NA ...
$ WIFI.Flag : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Wednesday.Store.Hours : logi NA NA NA NA NA NA ...
$ Voice.Data.Description : Factor w/ 4 levels "1xVoice Only",..: 2 2 2 2 2 2 2 2 2 2 ...
$ Voice.Data.Code : int 3 3 3 3 3 3 3 3 3 3 ...
$ Vendor.Id : logi NA NA NA NA NA NA ...
$ Update.Process.Code : logi NA NA NA NA NA NA ...
$ Tuesday.Store.Hours : logi NA NA NA NA NA NA ...
$ Thursday.Store.Hours : logi NA NA NA NA NA NA ...
$ Text.Messaging.Flag : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Roaming.SID : int NA NA NA NA NA NA NA NA NA NA ...
$ Tertiary.Roaming.SID.Carrier : Factor w/ 18 levels "","BLUEGRASS CELLULAR, INC.",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Roaming.SID.Location.Percent : num NA NA NA NA NA NA NA NA NA NA ...
$ Tertiary.Roaming.SID.Name : Factor w/ 248 levels "","ABBEVILLE",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Roaming.SID.State : Factor w/ 50 levels "","AL","AR","AZ",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Roaming.SID.State.Name : Factor w/ 13 levels "","CAN","DEU",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Onnet.Location.Percent : num NA NA NA NA NA NA NA NA NA NA ...
$ Tertiary.Onnet.Longitude : num NA NA NA NA NA NA NA NA NA NA ...
$ Tertiary.Onnet.Site.Name : Factor w/ 12084 levels "","AATPMIBE",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Onnet.State : Factor w/ 52 levels "","AK","AL","AR",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Onnet.Switch.Id : int NA NA NA NA NA NA NA NA NA NA ...
$ Tertiary.Onnet.Zip : Factor w/ 6798 levels "","1001","100100000",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Onnet.Latitude : num NA NA NA NA NA NA NA NA NA NA ...
$ Tertiary.Onnet.City : Factor w/ 3830 levels "","ABERDEEN",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Tertiary.Onnet.Cell.Id : int NA NA NA NA NA NA NA NA NA NA ...
$ Territory.Description : logi NA NA NA NA NA NA ...
$ Technology.Description : Factor w/ 7 levels "2G","3G","EVDO REV0",..: 6 6 6 6 6 6 6 6 6 6 ...
$ Technology.Code : int 13 13 13 13 13 13 13 13 13 13 ...
$ Sunday.Store.Hours : logi NA NA NA NA NA NA ...
$ Sub.Valuation.Cluster : int 3 3 3 3 3 3 3 3 3 3 ...
$ Subscriber.Number : num 1.31e+07 5.34e+07 1.49e+08 2.23e+08 3.28e+08 ...
$ Subscriber.Count : int 492 496 527 491 501 479 486 608 496 481 ...
$ Subscriber.Attribute.Device.SKU.Number : Factor w/ 703 levels "AL2017BASB","AL2017BKBL",..: 194 193 193 195 56 193 194 194 193 194 ...
$ Subscriber.Attribute.Business : int 0 0 0 0 0 0 0 0 0 0 ...
$ Subscriber.Activity.Customer.System.Code : Factor w/ 1 level "EW": 1 1 1 1 1 1 1 1 1 1 ...
$ Store.Type : logi NA NA NA NA NA NA ...
$ Sub.Market.Code : logi NA NA NA NA NA NA ...
$ Sub.MRC.Cluster : int 0 0 0 0 0 0 0 0 0 0 ...
$ Subscriber.Activity.BAN.Address.City : int 0 0 0 0 0 0 0 0 0 0 ...
$ Subscriber.Activity.BAN.Address.Zip : int 0 0 0 0 0 0 0 0 0 0 ...
$ Subscriber.Activity.Business : int 0 0 0 0 0 0 0 0 0 0 ...
$ Store.Status : logi NA NA NA NA NA NA ...
$ Store.Primary.Contact.Phone.Number : logi NA NA NA NA NA NA ...
$ Store.Primary.Contact.Name : logi NA NA NA NA NA NA ...
$ Store.Owner : logi NA NA NA NA NA NA ...
$ Store.Open.Date : logi NA NA NA NA NA NA ...
$ Store.Number : logi NA NA NA NA NA NA ...
$ Store.Close.Date : logi NA NA NA NA NA NA ...
$ Store.Format : logi NA NA NA NA NA NA ...
$ Store.Location.Code : logi NA NA NA NA NA NA ...
$ Store.Location.Name : logi NA NA NA NA NA NA ...
$ Store.Manager : logi NA NA NA NA NA NA ...
$ Store.Manager.Private.Phone.Number : logi NA NA NA NA NA NA ...
$ Store.Name : logi NA NA NA NA NA NA ...
$ Sprint.Store.Zip.Code : logi NA NA NA NA NA NA ...
$ Sprint.TV.Capable.Flag : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Square.Footage.Quantity : logi NA NA NA NA NA NA ...
$ Standard.Monthly.Recurring.Charge.Amount : Factor w/ 2 levels "$0.00 ","($1.00)": 2 2 2 1 2 2 1 2 2 1 ...
$ Status.Name : logi NA NA NA NA NA NA ...
$ Sprint.Store.State.Code : logi NA NA NA NA NA NA ...
$ Sprint.Store.Longitude.Number : logi NA NA NA NA NA NA ...
$ Sprint.Store.Latitude.Number : logi NA NA NA NA NA NA ...
$ Sprint.Store.City.Name : logi NA NA NA NA NA NA ...
$ Sprint.Store.Address.Line.1.Text : logi NA NA NA NA NA NA ...
$ Source.Sequence.Number : int 1 1 1 1 1 1 1 1 1 1 ...
$ Segment : int 53 53 53 53 53 53 53 53 53 53 ...
$ Secondary.Roaming.SID.State.Name : Factor w/ 16 levels "","BRB","CAN",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Roaming.SID.State : Factor w/ 53 levels "","AL","AR","AZ",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Roaming.SID.Name : Factor w/ 447 levels "","ABERDEEN",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Roaming.SID.Location.Percent : num NA NA NA NA NA NA NA NA NA NA ...
$ Secondary.Roaming.SID.Carrier : Factor w/ 25 levels "","APPALACHIAN WIRELESS",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Roaming.SID : int NA NA NA NA NA NA NA NA NA NA ...
$ Secondary.Onnet.Zip : Factor w/ 5717 levels "","10003","1001",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Onnet.Switch.Id : int NA NA NA NA NA NA NA NA NA NA ...
$ Secondary.Onnet.State : Factor w/ 48 levels "","AL","AR","AZ",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Onnet.Site.Name : Factor w/ 9641 levels "","ABDLFLAT",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Secondary.Onnet.Cell.Id : int NA NA NA NA NA NA NA NA NA NA ...
我对 df1 有以下内容:
'data.frame': 387850 obs. of 106 variables:
$ X.NAME. : num 0 0 0 0 0 0 0 0 0 0 ...
$ X..Calls.Completed : num 0 0 0 0 0 0 0 0 0 0 ...
$ Account.Attribute.BAN.Address.State : int 0 0 0 0 0 0 0 0 0 0 ...
$ Account.Code.Sub.Type : logi TRUE TRUE TRUE TRUE TRUE TRUE ...
$ Account.Code.Type : Factor w/ 1 level "R": 1 1 1 1 1 1 1 1 1 1 ...
$ Account.End.Date : Factor w/ 1 level "12/31/2999": 1 1 1 1 1 1 1 1 1 1 ...
$ Account.Start.Date : Factor w/ 73 levels "1/11/2018","1/2/2017",..: 47 47 47 47 47 47 47 47 47 47 ...
$ Account.Tenure.Days : int 361078 361078 361078 361078 361078 361078 361078 361078 361078 361078 ...
$ Account.Tenure.Months : int 11863 11863 11863 11863 11863 11863 11863 11863 11863 11863 ...
$ Account.Tenure.Years : int 989 989 989 989 989 989 989 989 989 989 ...
$ Answered : int 0 0 0 0 0 0 0 0 0 0 ...
$ Brand.Name : Factor w/ 9 levels "Apple","Assurance",..: 1 1 1 1 6 7 7 7 7 7 ...
$ Business : int 0 0 0 0 0 0 0 0 0 0 ...
$ Busy : int 0 0 0 0 0 0 0 0 0 0 ...
$ BYOD.Indicator : Factor w/ 3 levels "","N","Y": 2 2 2 2 2 2 2 2 2 2 ...
$ Call.Attempts : int 1 1 1 4 2 1 1 1 1 1 ...
$ Call.Forwarded.Calls : int 3 16 0 2 1 1 3 3 12 12 ...
$ Churn.Flag : Factor w/ 3 levels "","N","Y": 2 2 3 2 2 2 2 2 2 2 ...
$ Consecutive.Calls : int 0 0 0 0 0 0 0 0 0 0 ...
$ Count.Subscriber.Activation : int 25 1 1 1 32 25 1 1 27 27 ...
$ Count.Subscriber.Deactivation : int 33 19 24 24 33 33 19 19 21 21 ...
$ Credit.Class.Category : Factor w/ 1 level "SUB-PRIME": 1 1 1 1 1 1 1 1 1 1 ...
$ Device : Factor w/ 18 levels "","Alcatel","Apple",..: 3 3 3 3 14 9 7 10 14 14 ...
$ Device.Color.Name : Factor w/ 23 levels "Berry","Black",..: 17 7 17 2 22 2 15 3 2 17 ...
$ Device.Description : Factor w/ 1693 levels "ALCATEL 2017B FLIP",..: 807 780 894 569 1240 1014 536 1042 442 1462 ...
$ Device.Model.Type.Name : Factor w/ 620 levels "Assurance Kyocera Forte",..: 243 245 251 225 417 281 208 320 441 466 ...
$ Device.Type.Name : Factor w/ 4 levels "Handset","N/A",..: 3 3 3 3 1 1 3 1 3 3 ...
$ Handset.Change.Flag : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Last.Device.Change.Date : Factor w/ 1658 levels "","1/1/2015",..: 1 1 85 1 1 1 1 1 194 1 ...
$ Last.Price.Plan.Change.Date : Factor w/ 1203 levels "","1/1/2015",..: 1 1 62 1 234 1 632 820 249 1127 ...
$ Liability.Code : Factor w/ 1 level "CL": 1 1 1 1 1 1 1 1 1 1 ...
$ Line.End.Date : Factor w/ 567 levels "1/1/2018","1/10/2016",..: 145 145 292 145 145 156 145 145 145 145 ...
$ Line.Start.Date : Factor w/ 2318 levels "1/1/2016","1/1/2017",..: 154 873 1218 913 193 799 906 1525 636 1645 ...
$ Line.Tenure.In.Days : int 1 37 14 61 2183 0 32 2156 1533 1346 ...
$ Line.Tenure.In.Months : int 0 1 0 2 72 0 1 71 50 44 ...
$ Line.Tenure.In.Years : int 0 0 0 0 5 0 0 5 4 3 ...
$ Manufacturer.Name : Factor w/ 17 levels "Alcatel","Apple",..: 2 2 2 2 13 8 6 9 13 13 ...
$ Market.Name : Factor w/ 98 levels "Alabama","Albuquerque",..: 37 31 20 63 6 56 6 66 72 94 ...
$ Mobile.Orig.Calls : int 1 1 1 4 2 1 1 1 1 1 ...
$ Mobile.Orig.Consecutive.Calls : int 0 0 0 0 0 0 0 0 0 0 ...
$ Mobile.Orig.MOU : num 0 0 0 0 0 0 0 0 0 0 ...
$ Mobile.Orig.Sequential.Calls : int 0 0 0 0 0 0 0 0 0 0 ...
$ Mobile.Term.Calls : int 3 3 1 0 0 1 0 3 0 1 ...
$ Mobile.Term.Consecutive.Calls : int 0 0 0 0 0 0 0 0 0 0 ...
$ Mobile.Term.MOU : num 3.82 3.35 0 0 0 1.22 0 0.33 0 0.17 ...
$ Mobile.Term.Sequential.Calls : int 0 0 0 0 0 0 0 0 0 0 ...
$ Month.Date : Factor w/ 14 levels "1/1/2018","10/1/2017",..: 1 7 9 9 4 1 7 7 5 5 ...
$ Months.on.Device : int 0 1 3 2 72 0 1 71 16 44 ...
$ Months.on.Price.Plan : int 0 1 3 2 14 0 1 35 16 5 ...
$ Month.Year : int 2018 2018 2018 2018 2017 2018 2018 2018 2018 2018 ...
$ MSRP.Amount : num 600 550 450 450 145 ...
$ Owner.Owner.Description : Factor w/ 1 level "ACN_INC": 1 1 1 1 1 1 1 1 1 1 ...
$ Ported.in.Carrier : Factor w/ 2 levels "","SPRINT SPECTRUM LP": 1 1 1 1 1 1 1 1 1 1 ...
$ Ported.out.Carrier : Factor w/ 12 levels "","BANDWIDTH.COM CLEC",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Prepaid.Postpaid.Subscriber : int 0 0 0 0 0 0 0 0 0 0 ...
$ Prepaid.Vs.Poastpaid : Factor w/ 1 level "POSTPAID": 1 1 1 1 1 1 1 1 1 1 ...
$ Price.Plan.Change.Flag : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 2 1 1 1 ...
$ Primary.Onnet.Cell.Id : int 0 0 0 66 19 0 0 4008 0 0 ...
$ Primary.Onnet.City : Factor w/ 3697 levels "","ABBOTT","ABERDEEN",..: 1 1 1 2000 142 1 1 3574 1 1 ...
$ Primary.Onnet.Latitude : num 0 0 0 33.4 39.2 ...
$ Primary.Onnet.Location.Percent : num 50 20.9 0 0 0 ...
$ Primary.Onnet.Longitude : num 0 0 0 -111.9 -76.6 ...
$ Primary.Onnet.Site.Name : Factor w/ 10912 levels "","AATSMIAB",..: 1 1 1 5462 691 1 1 476 1 1 ...
$ Primary.Onnet.State : Factor w/ 49 levels "","AL","AR","AZ",..: 1 1 1 4 20 1 1 34 1 1 ...
$ Primary.Onnet.Switch.Id : int 40 423 75 183 161 29 161 426 43 203 ...
$ Primary.Onnet.Zip : Factor w/ 6386 levels "","10003","1001",..: 1 1 1 5087 780 1 1 2479 1 1 ...
$ Primary.Roaming.Location.Percent : num 0 0 0 0 0 0 0 0 0 0 ...
$ Primary.Roaming.SID : int 0 0 0 0 0 0 0 0 0 0 ...
$ Primary.Roaming.SID.Carrier : Factor w/ 29 levels "","ALASKA WIRELESS NETWORK - ACDMA",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Primary.Roaming.SID.Name : Factor w/ 724 levels "","ABBEVILLE",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Primary.Roaming.SID.State : Factor w/ 57 levels "","AK","AL","AR",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Primary.Roaming.SID.State.Name : Factor w/ 24 levels "","AUS","AUT",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Ring.No.Answer : int 0 0 0 0 0 0 0 0 0 0 ...
$ Roaming.Data.Limit : Factor w/ 2 levels "100MB","300MB": 2 2 1 2 1 2 1 1 1 1 ...
$ Roaming.Data.Limit.Exceeded.Code : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Roaming.Voice.Limit : Factor w/ 1 level "800MOU": 1 1 1 1 1 1 1 1 1 1 ...
$ Roaming.Voice.Limit.Exceeded.Code : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Sequential.Calls : int 0 0 0 0 0 0 0 0 0 0 ...
$ Status.Code : Factor w/ 4 levels "A","C","F","S": 1 1 2 1 1 1 1 1 1 1 ...
$ Status.Code.by.MDN : Factor w/ 4 levels "A","C","F","S": 1 1 2 1 1 1 1 1 1 1 ...
$ Status.Same.All.Month.By.Account.Number: Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
$ Subscriber.Activity.BAN.Address.State : int 0 0 0 0 0 0 0 0 0 0 ...
$ Subscriber.Activity.Contract.Status : int 3 3 3 3 3 3 3 3 3 3 ...
$ Subscriber.Activity.Price.Plan.Code : Factor w/ 19 levels "ACNPLAN1","ACNPLAN10",..: 16 14 14 13 19 13 14 19 6 3 ...
$ Subscriber.Attribute.Contract.Status : Factor w/ 1 level "Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Subscriber.Attribute.Owner.Description : Factor w/ 1 level "ACN_INC": 1 1 1 1 1 1 1 1 1 1 ...
$ Subscriber.Attribute.Price.Plan.Code : Factor w/ 19 levels "ACNPLAN1","ACNPLAN10",..: 16 14 14 13 19 13 14 19 6 3 ...
$ Subscriber.Line.Id : num 3.68e+09 3.76e+09 2.70e+09 3.73e+09 1.91e+08 ...
$ Subscriber.Line.Status.Changed : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ Subscriber.Type : Factor w/ 1 level "MVNO": 1 1 1 1 1 1 1 1 1 1 ...
$ Total.Calls : int 4 4 2 4 2 2 1 4 1 2 ...
$ Total.MOU : num 3.82 3.35 0 0 0 1.22 0 0.33 0 0.17 ...
$ Unassigned : int 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Active.Accounts : int 1 1 1 1 1 1 1 1 1 1 ...
$ Total.Active.Subscribers : int 1 1 1 1 1 1 1 1 1 1 ...
$ Total.Data.Roaming.2G.MB : int 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.3G.MB : int 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.4G.MB : int 0 0 0 0 0 0 0 0 0 0 ...
$ Total.Data.Roaming.MB : int 0 0 0 0 0 0 0 0 0 0 ...
现在我想保留 df1 的所有变量并添加
Wifi.flag , Standard.Monthly.Recurring.Charge.Amount,
Sprint.TV.Capable.Flag , Total.Price.Changes.In.Month ,
Total.Device.Changes.In.Month ,
Total.Subscriber.Line.Device.Cost, Text.Messaging.Flag,Subscriber.Count(?=>
How is it different from Total.Subscriber.Activation-
Total.Subscriber.Deactivation?), Sprint.TV.Capable.Flag, Revenue.Non-
Revenue, Ready.Now.Code, Quality.Description, Push.Talk.Flag,
NFC.Indicator, Multimedia.Flag, MP3.Flag , Hot-Spot.Capable.Description
, GSM.Capable , GPS.Flag , Device.Rugged.Flag ,
Device.Operating.System.Name ,Device.Cost.Amount, Device.Network.Flag,
Device.System.Status.Code , Credit.Class.System.Status.Code ,
Credit.Class.Network.Flag , CPO.Indicator , Churn.Risk.Cluster ,
Channel.Hierarchy.System.Status.Code , Carrier.Aggregation,Camera.Flag,
Business.Geography.System.Status.Code , Affiliate.Subscription.Flag ,
Account.Spending.Limit.Code
df2 到 df1 的变量保持 df1 的所有属性不变。
解决方案
如果这两个数据集没有任何共同点,我认为将它们结合起来是有问题的,但你肯定有你的理由。
一种选择是使用 bind_rows from dplyr
,这将保留这样一个事实,即行之间没有连接:
library(dplyr)
bind_rows(sample_df1, sample_df2[, c("x4", "x7")])
# x1 x2 x3 x4 x7
# 1 1 6 a NA <NA>
# 2 2 7 b NA <NA>
# 3 3 8 c NA <NA>
# 4 NA NA <NA> 11 K
# 5 NA NA <NA> 12 L
# 6 NA NA <NA> 13 M
# 7 NA NA <NA> 14 N
# 8 NA NA <NA> 15 O
另一种选择是首先组合相同数量的行,然后从较大的数据框中添加剩余的行:
bind_cols(sample_df1, sample_df2[1:length(sample_df1), ]) %>%
bind_rows(sample_df2[-c(1:length(sample_df1)), ])
# x1 x2 x3 x4 x7
# 1 1 6 a 11 K
# 2 2 7 b 12 L
# 3 3 8 c 13 M
# 4 NA NA <NA> 14 N
# 5 NA NA <NA> 15 O
但是这种方式取决于数据的顺序。
数据
sample_df1 <-
data.frame(x1 = 1:3,
x2 = 6:8,
x3 = letters[1:3],
stringsAsFactors = F)
sample_df2 <-
data.frame(x4 = 11:15,
x5 = 16:20,
x6 = letters[11:15],
x7 = LETTERS[11:15],
stringsAsFactors = F)
推荐阅读
- java - 多次调用 Kafka Streams StreamBuilder.build() 可以吗
- api - Slackbot 无法接收消息
- c++ - 错误:数组中数组下标的无效类型“int [int]”
- r - 为什么我的数据表没有在我的 Shiny App 中呈现?
- python - 如何在 Python 中创建可重用的生成器类?
- sharepoint - Files.ReadWrite ROPC MS Graph API 403 错误,尽管 Scope 显示正确的授权
- java - 为什么我在执行 Exact OAuth 时得到 OAuthProblemException error='invalid_request' description='Handle could not be extract'
- python - 取决于其先前值(行)的熊猫列?
- python - 将元组字典转换为有效字典时出现问题?
- c# - 从同一个文本文件中读取单个数据和数组