#r #date #twitter #grouping
Вопрос:
Я работаю над набором данных из 1 тыс. твитов с форматом даты ГГГГ-ММ-ДД чч:мм:сс и оценкой настроений для каждого из них от -1 до 1.
Моя цель состоит в том, чтобы использовать их для анализа прогнозируемости фондового рынка, поэтому мне нужно:
а) группой все твиты в данный рабочий день Н между предыдущими фондовом рынке заключительный час ( Н-1) 16:00 и сегодня заключительный час (Н 15:59); при группировке я не забочусь больше о часовых меток времени, единственное, что важно для меня-это день, так что я мог использовать, например, в понедельник в нерабочее время (16:00 и далее) чирикают и вторникам внутри часов (до 16:00) чирикают как результат на вторник индекс Samp;P500 в результат закрытия.
б) Сгруппируйте все твиты в выходные дни твиты в понедельник (т. Е. с пятницы 16:00 Суббота Воскресенье Понедельник до 15:59) как твиты в понедельник (по сути, а), но с дополнительными днями для подсчета твитов в выходные дни)
c) Впоследствии при группировании генерируйте 1) Сумму всех оценок настроений для всех твитов за данный день/выходные и 2) Среднее значение всех оценок настроений для всех этих твитов одинаково в 1)
Есть ли кто-нибудь, кто может помочь мне в любом из этих пунктов? Эта работа, по сути, является моим самым большим препятствием во время моей магистерской диссертации, и любой, кто может мне в этом помочь, может ожидать от меня посылку голландских штропваффелей, доставленных домой! 🙂
Ответ №1:
Для тех, кто в будущем проверит эту тему, я нашел решение для а) и б):
t_timeshift = as.POSIXlt(trump_presidency_valid$date)
t_timeshift_final = t_timeshift
for (i in 1:392){
if (t_timeshift[i]$hour > 17) t_timeshift_final[i]=t_timeshift[i] 28800
}
trump_presidency_valid$date <- t_timeshift_final
#next I want to move all saturday days by 24hrs effectivelly eliminating saturday tweets
t_satshift_final = as.POSIXlt(t_timeshift_final)
for (i in 1:392){
if (weekdays(t_timeshift_final[i]) == "Saturday") t_satshift_final[i]=t_timeshift_final[i] 115200
}
#lastly I want to move all Sunday days by 24hrs effectively making all Saturday and Sunday Tweets count as Monday Tweets
t_sunshift_final = as.POSIXlt(t_satshift_final)
for (i in 1:392){
if (weekdays(t_satshift_final[i]) == "Sunday") t_sunshift_final[i]=t_satshift_final[i] 115200
}
weekdays(t_sunshift_final[1:20]) #checkup if the process went well
trump_presidency_valid$date <- t_sunshift_final #save up
По сути, я переместил все твиты после 16:00 на 8 часов, сделав их эффективными твитами на следующий день, как и в субботу, а затем в воскресенье, переместив их на 24 часа. Теперь, если вы используете weekdays (), вы не найдете никаких твитов между 16:00 пятницы и 23:59 воскресенья ; все они были сдвинуты! Я надеюсь, что кто-нибудь найдет это полезным!