Благодарим вас за ваш совет. Я пытаюсь создать новую переменную по нескольким объектам в цикле. Эти новые переменные генерируются функцией.R: Перекодирующие переменные через несколько объектов
К примеру, у меня есть три набора данных на уровне страны:
# Generate Example Data
`enter code here`pop <- data.frame(country=c("US","US","CA","CA","FR","FR"),year=c(1,2,1,2,1,2),value=c(290,300,29,30,50,55))
gas <- data.frame(country=c("US","US","CA","CA","FR","FR"),year=c(1,2,1,2,1,2),value=c(3.10,1.80,4.50,2.50,4.50,2.50))
cars <- data.frame(country=c("US","US","CA","CA","FR","FR"),year=c(1,2,1,2,1,2),value=c(2.1,2.2,1.8,1.9,1.3,1.3))
Я хочу создать новую переменную, названную «CountryCode», используя команду CountryCode() в пакете COUNTRYCODE.
Я хотел бы выполнить операцию по отдельным объектам, как это:
library(countrycode)
pop$ccode <- countrycode(pop$country,"iso2c","cown")
pop$id <- (pop$ccode*10000)+pop$year
Но у меня есть большое количество объектов. Я надеялся сделать это над петлей, как это
# Create list of variables
vars <- c("pop","gas","cars")
for (i in vars){
i$ccode <- countrycode(country,"iso2c","cown")
i$id <- (i$ccode*10000)+i$year
}
Но это не работает. Я пытался это сделать, используя assign() в циклах и apply(), но я слишком плотный, чтобы окунуться в то, как сделать эту работу в моем случае.
Если бы кто-нибудь мог предоставить мне пример того, как это сделать с помощью моего собственного типа данных, я был бы очень благодарен.
Благодарим за помощь. Я ценю помощь. Проблема заключается в том, что ** tablesList ** может стать очень громоздким, если вы сделаете это для более 50 таблиц данных. Я действительно не знаю, что делать со столом. Есть ли способ изменить исходные объекты ** pop **, ** gas **, ** cars **? –