Обновление data.frame на основе значения поиска - PullRequest
0 голосов
/ 20 марта 2020

Итак, у меня очень строгая система, которая позволяет добавлять в R-сценарии обработку некоторых данных. Это интерфейсная система, и у меня есть около 1000 символов, чтобы добавить как можно больше. Я работаю над заменой значений в data.frame (filedata_model) значением из списка перевода.

вот что у меня есть:

vGrades <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 4, 4, 3.7, 3.3, 3, 2.7, 2.3, 2, 1.7, 1.3, 1, 0, 0); 
vGradeMx <- matrix(vGrades, nrow = 14, ncol = 2); 
colnames(vGradeMx) <- c("CB_GRADE", "RNL_GPA"); 
vGradeTb <- as.data.frame(vGradeMx);

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

Так вот почему я написал то, что имею: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 - это значения, которые мы получаем от поставщика исследований в файле 0, 4, 4, 3.7, 3.3, 3, 2.7, 2.3, 2, 1.7, 1.3, 1, 0, 0 - это значения, на которые мы хотели бы изменить их.

Я установил дополнительный фрейм данных для сохранить исходные и переводные значения, но что теперь? Все, что я пробовал, обычно терпит неудачу. Все, что я узнал, пришло с выходных, когда я пытался втиснуть в свой мозг как можно больше книг.

Я ценю помощь!

1 Ответ

0 голосов
/ 21 марта 2020
filedata_model$column_name_here <- vGradeTb$RNL_GPA[match(filedata_model$column_name_here, 
                                                          vGradeTb$CB_GRADE)]

, где column_name_here - столбец, содержащий значения, которые вы хотите изменить.

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