Я пытаюсь читать кусками кода, используя fread () и функцию повтора.После импорта выбора столбцов я хочу вычислить максимальное значение на строку и назначить его в таблицу данных результатов.
Таблица данных результатов должна быть последовательно дополнена максимальными значениями, выходящими из цикла.
К сожалению, после завершения первого цикла появляется следующее сообщение об ошибке:
Ошибка в ans [[1L]]: нижний индекс вне границ
Кроме того, таблица данных результатов с максимальными значениями перезаписывается после каждого цикла, так как я не понял, как его последовательно обогащать.
Это то, что у меня есть до сих пор пробовал :
FileName <- "/Users/flickrexport_cars_oid_201903.csv"
index <- 0
chunkSize <- 100000
skipindex <- 0
skipsize <- 0
repeat {
#Set Index for Processing Message
index <- index + 1
print(paste('Processing rows:', index * chunkSize))
#Import Data Chunked
DataChunk <- fread(FileName,colClasses = "numeric", select = humanbodyparts, nrows = chunkSize, skip = skipsize, sep=",", encoding = "Latin-1", header=TRUE)
#Set NAs to Zero
f_dowle3 = function(DT) {
for (j in names(DT))
set(DT,which(is.na(DT[[j]])),j,0)
}
f_dowle3(DataChunk)
#Assign Max Values to Results Table
HumanBodyResults1 <- DataChunk[, HumanBodyParts := do.call(pmax, .SD), .SDcols = intersect(names(DataChunk),humanbodyparts)]
HumanBodyResults <- HumanBodyResults1[, setdiff(names(HumanBodyResults1),"HumanBodyParts"):=NULL]
#Check Result of Data Chunk
print(head(HumanBodyResults))
#Increase Index for Rows to Skip
skipindex <- skipindex + 1
skipsize <- skipindex * chunkSize
if (nrow(DataChunk) != chunkSize){
print('Processed all files!')
break}
}
Результат должен быть таблицей данных, содержащей все максимальные значения строк (HumanBodyResults), обработанных в цикле.
Данные:
Переменная «humanbodyparts» содержит конкретные имена столбцов, такие как:
> humanbodyparts
[1] "oid.Abdomen" "oid.Adolescent" "oid.Adult" "oid.Arm" "oid.Army men" "oid.Art model"
[7] "oid.Artmodel" "oid.Athlete" "oid.Audience" "oid.Baby" "oid.Bangs" "oid.Barechested"
Данные, которые будут импортированы с помощью fread() имеет следующую структуру:
> str(DataChunk)
Classes ‘data.table’ and 'data.frame': 100000 obs. of 101 variables:
$ oid.Abdomen : num NA NA NA NA 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.Arm : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Artmodel : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Athlete : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Audience : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Baby : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Bangs : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Barechested : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Bassist : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Beard : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Bishop : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Blackhair : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Boy : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Bride : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Catcher : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Cheek : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Chest : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Child : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Chin : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Clergy : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Crowd : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Defenseman : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Drummer : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Ear : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Elder : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Eye : num NA NA NA NA NA ...
$ oid.Eyebrow : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Eyelash : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Face : num NA NA NA NA NA ...
$ oid.Facialhair : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Family : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Female : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Finger : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Firefighter : num NA NA NA NA NA ...
$ oid.Foot : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Footballplayer : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Forehead : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Gardener : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Gentleman : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Girl : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Goalkeeper : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Goaltender : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Golfer : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Grandparent : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Groom : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Guitarist : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Hair : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Hairstyle : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Hand : num NA NA NA NA NA ...
$ oid.Head : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Humanbody : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Jaw : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Lady : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Leg : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Limb : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Lip : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Longhair : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Male : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Man : num 0.00625 0.00569 0.01013 0.01031 NA ...
$ oid.Marines : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Matador : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Militaryofficer: num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Militaryperson : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Model : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Mother : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Moustache : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Mouth : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Muscle : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Nail : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Neck : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Nose : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Orator : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Organ : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Passenger : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Pedestrian : num NA NA NA 0.0744 NA ...
$ oid.People : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Person : num 0.0206 0.0147 0.0201 0.1274 0.0139 ...
$ oid.Pianist : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Player : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Shoulder : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Silhouette : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Skin : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Smile : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Socialgroup : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Soldier : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Speaker : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Student : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Stuntperformer : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Swimmer : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Team : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Thigh : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Toddler : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Toe : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Tooth : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Troop : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Waste : num NA NA NA NA NA NA NA NA NA NA ...
$ oid.Woman : num NA NA NA NA NA NA NA NA NA NA ...
[list output truncated]
- attr(*, ".internal.selfref")=<externalptr>
>