Как я могу добавить 10,20, ..., 50 к каждой переменной в векторе, не удаляя текущие переменные? - PullRequest
1 голос
/ 28 июня 2019

Я хотел бы обработать целые числа длиной более 100 КБ.Ниже приведен код, который работает с небольшими данными, но я борюсь с обработкой больше, чем размер 100 000.

test [, 2] - это то, чем я хочу управлять.

Это выглядиткак показано ниже:

[1560502005 1560502065 1560502125 1560502185 1560502245 1560502305 1560502365 ....]

Конечный результат, который я хочу получить:

[1560502005 1560502015 1560502025 1560502035 1560502045 1560502055 1560502065 1560502075 ...]

, который добавляет 10, 20, ... 50 к каждой переменной text[,2]

Длина конечного результата будет 6*length(text[,2])

library(jsonlite) #For fromJSON
library(anytime) #For anytime
library(plyr)
test <- fromJSON('RT_data_this_should_be_used_for_rt_analysis.json')

row_2=nrow(test)
date_data<-data.frame()

#test[,2][1] is a unix time.

for (i in 1:row_2){
  date_data<-rbind.fill(date_data,as.data.frame(rbind(test[,2][i],
                   test[,2][i]+10,
                   test[,2][i]+20,
                   test[,2][i]+30,
                   test[,2][i]+40,
                   test[,2][i]+50))) #Add 10 seconds to match 6 locations
}

head(date_data) #Unix timestamp dataframe

date_data_fixed = data.frame()

for (i in 1:nrow(date_data)){
  date_data_fixed[i,1] <- anytime(date_data[i,]) #Convert to KRT time
}
head(date_data_fixed)

Я попытался использовать rbindlist, но выдает ошибку типа «Ошибка: Аргумент 1 должен иметь имена»

1 Ответ

1 голос
/ 28 июня 2019

Мы можем использовать rep и seq для выполнения этой задачи.

vec <- c(1560502005, 1560502065, 1560502125, 1560502185, 1560502245, 1560502305, 1560502365)

rep(vec, each = 6) + rep(seq(0, 50, 10), times = length(vec))
# [1] 1560502005 1560502015 1560502025 1560502035 1560502045 1560502055 1560502065 1560502075 1560502085
# [10] 1560502095 1560502105 1560502115 1560502125 1560502135 1560502145 1560502155 1560502165 1560502175
# [19] 1560502185 1560502195 1560502205 1560502215 1560502225 1560502235 1560502245 1560502255 1560502265
# [28] 1560502275 1560502285 1560502295 1560502305 1560502315 1560502325 1560502335 1560502345 1560502355
# [37] 1560502365 1560502375 1560502385 1560502395 1560502405 1560502415
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...