[R] Error: variable not found
Hannah Van Impe
h@nn@hv@n|mpe @end|ng |rom out|ook@com
Fri Oct 30 09:15:06 CET 2020
Hello
I have a question. I made an r-script and did a few commands needed to make some new variables. They all work out well, and when I run the commands, the new variables appear in the dataset. I can also work with these new variables to make other new variables from them. Also, when I use summary(dataset), those new variables appear in the summary of the dataset.
But, when I do summary(new variable) => error: variable not found.
For example: summary(couple_id) => Error in summary(couple_id) : object 'couple_id' not found. What can I do about this?
R-script:
attach(ipumsi_00008_dta)
library(tinytex)
library(dplyr)
library(ggplot2)
library(tidyr)
library(knitr)
library(forcats)
library(mice)
library(pander)
library(ggcorrplot)
library(lubridate)
# true/false code when sploc is greater than zero and sprule is equal to 1 or 2
ipumsi_00008_dta <- mutate(ipumsi_00008_dta, rule_union = sploc>0 & (sprule==1 | sprule==2))
## creating numeric code for rule_union & rule_unionn: 1 when sploc is greater than zero and sprule is equal to 1 or 2, 0 if not.
## This is neccesary because otherwise it is a logical code and we cannot multiply with it, which is needed
ipumsi_00008_dta <- ipumsi_00008_dta %>% mutate(rule_union_numeric = as.numeric(rule_union))
### creating unique numeric code for sploc / pernum variables
ipumsi_00008_dta <- mutate(ipumsi_00008_dta, sploc_pernum_code = pernum*(sex==1) + sploc*(sex==2))
#### dividing serial by 1000, otherwise, the ultimate couple_id is too large, and it works in this dataset because the serials start at 1000 (I will have to check if this works for other datasets)
ipumsi_00008_dta <- mutate(ipumsi_00008_dta, serial_divided = serial%/%1000)
##### creating unique union identifier
ipumsi_00008_dta$union_id = paste0(ipumsi_00008_dta$country, ipumsi_00008_dta$year, ipumsi_00008_dta$serial_divided, ipumsi_00008_dta$sploc_pernum_code)
ipumsi_00008_dta <- ipumsi_00008_dta %>% mutate(union_id_numeric = as.numeric(union_id))
ipumsi_00008_dta <- mutate(ipumsi_00008_dta, couple_id = union_id_numeric*rule_union_numeric)
###### Understanding the couple_id variable
summary(couple_id)
summary(ipumsi_00008_dta)
I also attached my dataset.
Thank you very much for the answer!
Hannah Van Impe
More information about the R-help
mailing list