Я получаю следующие данные в Azure. Каждая строка является параметром, который имеет отношение к модели прогнозирования.Транспонирование и добавление столбца в R в студии Azure ML
Я относительно новичок в R. Я пробовал следующий код, но он не дает мне ожидаемого результата. После переноса набора данных я хочу добавить дополнительный столбец «Месяц-Год».
Может кто-нибудь мне помочь? Благодарю.
Набор данных
features V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
A 28.21 42.03 48.56 46.85 46.03 54.6 63.87 50 53.34 43.47 34.66 27.48
B 1333 1348.64 1364.28 1379.92 1395.56 1411.2 1426.84 1442.48 1458.11 1473.75 1489.39 1505.03
C 10.05 5.46 4.82 5.27 5.07 4.07 9.53 1.95 6.95 6.54 5.91 0.56
D 18.22 18.41 14.31 30.28 18.16 15.52 12.52 13.14 15.05 8.89 12.51 25.25
R код
# Map 1-based optional input ports to variables
dataset <- maml.mapInputPort(1)
a <- c("A", "B", "C", "D")
data.set <- cbind(a, dataset)
names(data.set)[1] <- c("features")
# first remember the names
n <- dataset$features
# transpose all but the first column (name)
df.aree <- as.data.frame(t(data.set[,-1]))
names(data.set)[1] <- n
df.aree$myfactor <- factor(row.names(df.aree))
maml.mapOutputPort("df.aree")
Ожидаемый результат
Month-Year A B C D
01-01-15 28.21 1333 10.05 18.22
01-02-15 42.03 1348.64 5.46 18.41
01-03-15 48.56 1364.28 4.82 14.31
01-04-15 46.85 1379.92 5.27 30.28
01-05-15 46.03 1395.56 5.07 18.16
01-06-15 54.6 1411.2 4.07 15.52
01-07-15 63.87 1426.84 9.53 12.52
01-08-15 50 1442.48 1.95 13.14
01-09-15 53.34 1458.11 6.95 15.05
01-10-15 43.47 1473.75 6.54 8.89
01-11-15 34.66 1489.39 5.91 12.51
01-12-15 27.48 1505.03 0.56 25.25
Try 'MonYear <- формат (сл (as.Date ('2015-01-01'), as.Date ('2015-12-01'), по = 'месяц'), '% d-% m-% y'); df2 <- data.frame (MonYear, t (df1) [-1])); colnames (df2) [- 1] <- LETTERS [1: 4]; row.names (df2) <- NULL' – akrun
Спасибо @akrun. Это сработало. Но мое единственное беспокойство заключается в том, что при переносе, преобразует ли он числа в строки? – AngryPanda
Выполняя транспонирование ('t'), вы конвертируете в' matrix'. и матрица может содержать только один класс. Здесь я переношу только числовые столбцы и оставляю первый столбец 't (df1 [-1])', который не является числовым. Любой нечисловой элемент преобразует столбцы в класс 'character' – akrun