Мне было дано задание в R:
"Произвольно выбрать 10 торговых дней из каждого из следующих месяцев: с января 2019 года по июнь 2019 года (всего за 6 месяцев)".
У меня есть CSV-файл истории торговли акциями компании за последние 5 лет (даты, цена открытия, цена закрытия, изменения и т. Д. c.), Которые я импортировал в R с использованием этого кода (чтение файла; установка формата даты; извлечение всех 6 соответствующих месяцев):
SHAPIRENG5YEARS <- read.csv(file="C:\\Users\\Ron\\OneDrive\\5year.csv", header=TRUE, sep=",") #Choosing Shapir Engineering stock (last 5 years)
SHAPIRENG5YEARS$Date = as.Date(as.character(SHAPIRENG5YEARS$Date), format = "%d/%m/%Y")
January19=SHAPIRENG5YEARS[(SHAPIRENG5YEARS$Date > "2019-01-01" & SHAPIRENG5YEARS$Date < " 2019-01-31" ) ,]
February19=SHAPIRENG5YEARS[(SHAPIRENG5YEARS$Date > "2019-02-03" & SHAPIRENG5YEARS$Date < " 2019-02-28" ) ,]
March19=SHAPIRENG5YEARS[(SHAPIRENG5YEARS$Date > "2019-03-09" & SHAPIRENG5YEARS$Date < " 2019-03-31" ) ,]
April19=SHAPIRENG5YEARS[(SHAPIRENG5YEARS$Date > "2019-04-01" & SHAPIRENG5YEARS$Date < " 2019-04-30" ) ,]
May19=SHAPIRENG5YEARS[(SHAPIRENG5YEARS$Date > "2019-05-01" & SHAPIRENG5YEARS$Date < " 2019-05-30" ) ,]
June19=SHAPIRENG5YEARS[(SHAPIRENG5YEARS$Date > "2019-06-02" & SHAPIRENG5YEARS$Date < " 2019-06-30" ) ,]
Теперь я не знаю, что мне делать. Я могу взять один месяц, используя
January19sample <-January19[sample(nrow(January19), 10), ]
, но я хочу избежать этого шесть раз (один раз для каждого месяца). В идеале я хотел бы взять все значения 10 * 6 = 60 из исходного кадра больших данных.
Редактировать: Я все еще изо всех сил. Я попробовал это (это не хорошо, потому что я получаю список из 6 списков, каждый из которых имеет длину 18, а не случайные 10 пиков):
SamplesOfMonths=list(c(January19),c(February19),c(March19),c(April19),c(May19),c(June19))
TopSamples=c(1:10)
LowSamples=c(1:10)
for (i in 1:6)
{
Changer=unlist(SamplesOfMonths[i])
TopSamples[i]=sample(Changer, 10)[2]
LowSamples[i]=sample(Changer, 10)[1]
print(sample(Changer, 10))
}