Использование строк в качестве аргументов в UDF в R - PullRequest
0 голосов
/ 02 марта 2019

Я значительно продвинулся в изучении R, и до сих пор чувствую себя достаточно комфортно.Я обнаружил, что R - это интерпретатор язык, в отличие от компилятора языка, такого как VBA, к которому я привык.Но я подумал, что в R должны быть способы создания процедуры, и ближе всего я пришел к «функциям».Вот что я сейчас делаю -

Daily <- subset(InputData,ï..Frequency == "Daily")  #Break apart the data set by frequency
Daily$ï..Frequency <- NULL  #Remove the Frequency Column   
Daily$Date <- as.Date(Daily$Date,format = '%d/%m/%Y')

Weekly <- subset(InputData,ï..Frequency == "Weekly")
Weekly$ï..Frequency <- NULL
Weekly$Date <- as.Date(Weekly$Date,format = '%d/%m/%Y')

Monthly <- subset(InputData,ï..Frequency == "Monthly")
Monthly$ï..Frequency <- NULL
Monthly$Date <- as.Date(Monthly$Date,format = '%d/%m/%Y')

Quarterly <- subset(InputData,ï..Frequency == "Quarterly")
Quarterly$ï..Frequency <- NULL
Quarterly$Date <- as.Date(Quarterly$Date,format = '%d/%m/%Y')

Yearly <- subset(InputData,ï..Frequency == "Yearly")
Yearly$ï..Frequency <- NULL
Yearly$Date <- as.Date(Yearly$Date,format = '%d/%m/%Y')

Как видно, я создаю несколько фреймов данных на основе строковой переменной во входном массиве, которая может принимать пять значений - «Ежедневно», «Еженедельно», «Ежемесячно», «Ежеквартально» и «Ежегодно».После этого я пишу новые дополнительные столбцы в этих подмножествах как

Daily$ETF.Return <- as.numeric(c("-",diff(log(Daily$ETF.Index)))) #Calculate ETF Return
Daily$Index.Return <- as.numeric(c("-",diff(log(Daily$Underlying.Index))))  #Calculate Index Return
Daily$Multiple <- Daily$ETF.Return/Daily$Index.Return   #Calculate Multiple

И так далее, и тому подобное.После того, как эти новые фреймы данных созданы, я делаю некоторый статистический анализ и построение графиков регрессии с ними, что, я думаю, не составит труда.Но проблема в том, что я не могу использовать строки в качестве входных данных для UDF и впоследствии использовать входной аргумент для добавления новых столбцов в новые фреймы данных.Как я могу сделать это?Кроме того, возможно ли вообще создать процедуру в R, похожую на подпрограмму в VBA, которую можно вызывать и запускать?Я должен ценить все отзывы!Вот некоторые примеры данных, отсутствие которых, я думаю, делает вещи двусмысленными-

Samples Data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...