将列名称从R中2个不同数据帧的列名称分配给新的空数据帧

时间:2016-03-28 07:15:31

标签: r dataframe

我知道这听起来像是一个重复的问题,但我搜索了很多,无法找到这个问题的答案。这是我的情况。

我在R中有2个data.frames。

  1. PotentialTravellersHistory
  2. PossibleAirports
  3. 这两个数据帧的列名是

    > dput(names(PotentialTravellersHistory))
    c("uid", "utc", "lat", "long", "vid")
    
    > dput(names(PossibleAirports))
    c("DestinationAirportId", "Airline", "AirlineId", "SourceAirport", 
    "SourceAirportId", "DestinationAirport", "Name", "City", "Country", 
    "IataFaa", "Icao", "Latitude", "Longitude", "MaxLatitude", "MinLatitude", 
    "MaxLongitude", "MinLongitude")
    

    我的问题是我需要创建一个新的数据框" AirportTravellers"其具有如上定义的所有列名,即这些列名是第一和第二数据帧的列名的组合。我怎么做? " AirportTravellers"的列名示例如下:

    "uid", "utc", "lat", "long", "vid", "DestinationAirportId", "Airline",
    "AirlineId", "SourceAirport", "SourceAirportId", "DestinationAirport", 
    "Name", "City", "Country", "IataFaa", "Icao", "Latitude", "Longitude", 
    "MaxLatitude", "MinLatitude", "MaxLongitude", "MinLongitude"
    

2 个答案:

答案 0 :(得分:1)

最简单的方法是

AirportTravellers <- cbind(PotentialTravellersHistory[0,], PossibleAirports[0,])

答案 1 :(得分:0)

当只有名称可用且没有现有数据框时:

varnames <- c("uid", "utc", "lat", "long", "vid","DestinationAirportId", 
              "Airline","AirlineId", "SourceAirport", "SourceAirportId",
              "DestinationAirport","Name", "City", "Country", "IataFaa",     
              "Icao", "Latitude", "Longitude","MaxLatitude", "MinLatitude", 
              "MaxLongitude", "MinLongitude")

创建一个空数据框:

AirportTravellers <- data.frame()

命名变量:

for( i in 1:length(varnames)){
     AirportTravellers[0,eval(varnames[i])]
 }

现在将创建一个具有给定变量名称的空数据框。