此刻,我正在使用以下代码将数据集导入R:
require(data.table)
require(QuantPsyc)
library(lmSupport)
library(dbplyr)
#Import OID Label Data based on Open Image Data Set only
flickrcar <- fread("/Users/01_Open Image Data Set/01_Raw Data/flickrexport_cars_oid_201903.csv",sep=",", encoding = "Latin-1", header=TRUE)
导入数据后,集合具有以下结构:
Classes ‘data.table’ and 'data.frame': 820600 obs. of 2180 variables:
$ count_comments : int 0 0 0 0 0 2 2 0 0 1 ...
$ count_faves : int 5 2 2 15 1 3 19 5 1 4 ...
$ dateadded : int 1530174689 1530174688 1530174687 1530162494 1530159458 1530158648 1530158074 1529994404 1529992211 1529868922 ...
$ datetaken : chr "2018-05-10 15:50:59" "2018-05-10 15:50:53" "2018-05-10 15:50:03" "2006-11-27 00:00:00" ...
$ dateupload : int 1530174672 1530174671 1530174669 1498275521 1436228321 1482723483 1496706006 1529994381 1529992197 1529868901 ...
$ group_url : chr "https://www.flickr.com/groups/capriceclassic/" "https://www.flickr.com/groups/capriceclassic/" "https://www.flickr.com/groups/capriceclassic/" "https://www.flickr.com/groups/capriceclassic/" ...
$ id :integer64 42341316794 42341318944 42341324184 35456820766 19292939750 31070311463 34738418140 42964602432 ...
$ license : int 6 6 6 0 0 0 0 6 0 6 ...
$ oid.800metres : logi NA NA NA NA NA NA ...
$ oid.Abbey : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Abdomen : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Academicconference : logi NA NA NA NA NA NA ...
$ oid.Academicdress : logi NA NA NA NA NA NA ...
$ oid.Accipitriformes : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Acousticguitar : logi NA NA NA NA NA NA ...
$ oid.Acoustic-electricguitar : logi NA NA NA NA NA NA ...
$ oid.Acrylicpaint : logi NA NA NA NA NA NA ...
$ oid.Actionfigure : logi NA NA NA NA NA NA ...
$ oid.Adolescent : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Adult : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Adventure : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Advertising : num NA NA NA NA NA ...
$ oid.Aeolianlandform : logi NA NA NA NA NA NA ...
$ oid.Aerialphotography : logi NA NA NA NA NA NA ...
$ oid.Aerobatics : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Aerospaceengineering : logi NA NA NA NA NA NA ...
$ oid.Africanelephant : logi NA NA NA NA NA NA ...
$ oid.Afterglow : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Agaric : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Agaricaceae : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Agaricus : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Agriculturalmachinery : logi NA NA NA NA NA NA ...
$ oid.Agriculture : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Airforce : logi NA NA NA NA NA NA ...
$ oid.Airracing : logi NA NA NA NA NA NA ...
$ oid.Airshow : logi NA NA NA NA NA NA ...
$ oid.Airsports : logi NA NA NA NA NA NA ...
$ oid.Airtravel : logi NA NA NA NA NA NA ...
$ oid.Airbusa320family : logi NA NA NA NA NA NA ...
$ oid.Aircraft : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Aircraftcabin : logi NA NA NA NA NA NA ...
$ oid.Aircraftcarrier : logi NA NA NA NA NA NA ...
$ oid.Aircraftengine : logi NA NA NA NA NA NA ...
$ oid.Airline : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Airliner : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Airplane : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Airport : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Airportapron : logi NA NA NA NA NA NA ...
$ oid.Airportterminal : logi NA NA NA NA NA NA ...
$ oid.Aisle : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Albumcover : logi NA NA NA NA NA NA ...
$ oid.Alcohol : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Alcoholicbeverage : logi NA NA NA NA NA NA ...
$ oid.Ale : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Algae : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Alley : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Alligator : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Alloywheel : logi NA NA NA NA NA NA ...
$ oid.All-terrainvehicle : logi NA NA NA NA NA NA ...
$ oid.Alps : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Altar : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Amateurboxing : logi NA NA NA NA NA NA ...
$ oid.Amateurwrestling : logi NA NA NA NA NA NA ...
$ oid.Ambulance : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Americanfootball : logi NA NA NA NA NA NA ...
$ oid.Amphibian : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Amphibiousassaultship : logi NA NA NA NA NA NA ...
$ oid.Amphibioustransportdock : logi NA NA NA NA NA NA ...
$ oid.Amphitheatre : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Amusementpark : logi NA NA NA NA NA NA ...
$ oid.Amusementride : logi NA NA NA NA NA NA ...
$ oid.Ancientgreektemple : logi NA NA NA NA NA NA ...
$ oid.Ancienthistory : logi NA NA NA NA NA NA ...
$ oid.Ancientromanarchitecture : logi NA NA NA NA NA NA ...
$ oid.Ancientrome : logi NA NA NA NA NA NA ...
$ oid.Animal : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Animalmigration : logi NA NA NA NA NA NA ...
$ oid.Animalshelter : logi NA NA NA NA NA NA ...
$ oid.Animalsports : logi NA NA NA NA NA NA ...
$ oid.Animaltraining : logi NA NA NA NA NA NA ...
$ oid.Anime : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Annualplant : logi NA NA NA NA NA NA ...
$ oid.Ant : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Antelope : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Antique : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Antiquecar : logi NA NA NA NA NA NA ...
$ oid.Apartment : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Ape : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Apple : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Aqua : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Aquarium : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Aquaticplant : logi NA NA NA NA NA NA ...
$ oid.Aqueduct : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Arabiancamel : logi NA NA NA NA NA NA ...
$ oid.Arcade : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Arch : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Archbridge : logi NA NA NA NA NA NA ...
$ oid.Archaeologicalsite : logi NA NA NA NA NA NA ...
$ oid.Archipelago : num NA NA NA NA NA NA NA NA NA NA ...
[list output truncated]
- attr(*, ".internal.selfref")=<externalptr>
问题是fread以某种方式将某些“ oid.XXXX” Colums解释为错误。它们都应为“ num”类型。但是,在导入数据后,我不能仅仅将相应的列更改为“ num”,因为这会使我留下“ FALSE,0或1”而不是数值。
因此,我试图为fread()函数本身内的所有“ oid.XXX”列分配一个特定的colClass。到目前为止,这是我想出的:
flickrcar <- fread("/Users/01_Open Image Data Set/01_Raw Data/flickrexport_cars_oid_201903.csv", colClasses=list(numerical=grep("oid.", names(flickrcar), value = TRUE)),sep=",", encoding = "Latin-1", header=TRUE)
不幸的是,这不起作用。非常感谢您的提前帮助!
答案 0 :(得分:1)
您可以先阅读标题,以查找名称中具有oid
的列。然后相应地设置类:
x = fread('
A B C oid.a oid.b D E
1 2 3 NA NA 6 7',
nrows = 0)
colNames = grep('^oid', names(x), value = TRUE)
colClasses = rep('numeric', length(colNames))
names(colClasses) = colNames
x = fread('
A B C oid.a oid.b D E
1 2 3 NA NA 6 7',
colClasses = colClasses)
str(x)
# Classes ‘data.table’ and 'data.frame': 1 obs. of 7 variables:
# $ A : int 1
# $ B : int 2
# $ C : int 3
# $ oid.a: num NA
# $ oid.b: num NA
# $ D : int 6
# $ E : int 7
当然,另一种选择是在读取列之后重铸这些列,但是在大数据上首先如图所示正确设置类可能是更好的选择