Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- df <- data.frame(rbind(c('A', '','W','1'),c('A','','W', '3'),c('A', 'BK','R','4'),c('B','BN','T', '12')))
- df <- data.frame(rbind(c('A', '','W','0'),c('A','','W', '0'),c('A', 'BK','R','4'),c('B','BN','T', '12')))
- # create the sample data frame
- df <- data.frame(rbind(c('A', '','W','1'),c('A','','W', '3'),c('A', 'BK','R','4'),c('B','BN','T', '12')))
- # add a new level to the 4th column factor
- df[, 4] <- factor(df[, 4], levels=c(levels(df[, 4]), '0'))
- # write 0 to 4th column where 2nd column is ''
- df[df[, 2] == '',4] <- '0'
- > df <- data.frame(rbind(c('A', '','W','1'),c('A','','W', '3'),c('A', 'BK','R','4'),c('B','BN','T', '12')))
- > df
- X1 X2 X3 X4
- 1 A W 1
- 2 A W 3
- 3 A BK R 4
- 4 B BN T 12
- > str(df)
- 'data.frame': 4 obs. of 4 variables:
- $ X1: Factor w/ 2 levels "A","B": 1 1 1 2
- $ X2: Factor w/ 3 levels "","BK","BN": 1 1 2 3
- $ X3: Factor w/ 3 levels "R","T","W": 3 3 1 2
- $ X4: Factor w/ 4 levels "1","12","3","4": 1 3 4 2
- df$X4<-as.numeric(df$X4)
- df[df$X2 == "", "X4"] <- 0
- > df
- X1 X2 X3 X4
- 1 A W 0
- 2 A W 0
- 3 A BK R 4
- 4 B BN T 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement