Reputation: 41
I am trying to replace specific values in a data frame with specific values through a loop. I am kinda new to the world of R but I am a bit stuck:
top200$track.id[top200$track.id == "7ytR5pFWmSjzHJIeQkgog4"] <-
"4Aykm3xrOFSHrAnv80KUhh"
top200$track.id[top200$track.id == "6thXB4RmajS4oZPNiBAKy0"] <-
"3m0y8qLoznUYi73SUBP8GI"
top200$track.id[top200$track.id == "6OqrJqDMu15AGJHJazg9Nr"] <-
"463CkQjx2Zk1yXoBuierM9"
top200$track.id[top200$track.id == "1rgnBhdG2JDFTbYkYRZAku"] <-
"5ZULALImTm80tzUbYQYM9d"
top200$track.id[top200$track.id == "3apeXzypBMnUfYcZYNX6DH"] <-
"37ZtpRBkHcaq6hHy0X98zn"
top200$track.id[top200$track.id == "6gBFPUFcJLzWGx4lenP6h2"] <-
"2SzjMcZIsE2zUWQnccsTAo"
top200$track.id[top200$track.id == "513JwqDfENCJ0Woi0T42qy"] <-
"6hci8n9UowepjRmCc6CKTv"
top200$track.id[top200$track.id == "13vDU8nPsvTGEVTMB8Vw7g"] <-
"6AzKhCHOms83jvNVLsz0Bt"
top200$track.id[top200$track.id == "30VrBsh1STRBoIrhQOAwzK"] <-
"2VOomzT6VavJOGBeySqaMc"
top200$track.id[top200$track.id == "79s5XnCN4TJKTVMSmOx8Ep"] <-
"6PnTgx9lyvLGIcPnroCvc2"
top200$track.id[top200$track.id == "6i7zAdNhzUN2k1HcrBxPHG"] <-
"14ngWWxvUSnIMXgF6rzSk1"
top200$track.id[top200$track.id == "1RSzyxqtIO4yX3EyiV4zT5"] <-
"5vGLcdRuSbUhD8ScwsGSdA"
top200$track.id[top200$track.id == "4u7EnebtmKWzUH433cf5Qv"] <-
"7tFiyTwD0nx5a1eklYtX2J"
top200$track.id[top200$track.id == "0jT8Nl0shPS8115is0wD2Q"] <-
"0Snbzbd74RLfL0i4nn1vU5"
top200$track.id[top200$track.id == "3xgT3xIlFGqZjYW9QlhJWp"] <-
"6Qs4SXO9dwPj5GKvVOv8Ki"
top200$track.id[top200$track.id == "24IgCW19L8lXKyFZwzFtD3"] <-
"14wf185UxfNbSy8dwt4r4q"
top200$track.id[top200$track.id == "2xLMifQCjDGFmkHkpNLD9h"] <-
"0u695M7KyzXaPIjpEbxOkB"
This is what I got so for looking at other examples, but it is still not really working. Any suggestions on how to do this?
new_values <- c("4Aykm3xrOFSHrAnv80KUhh","3m0y8qLoznUYi73SUBP8GI","463CkQjx2Zk1yXoBuierM9","5ZULALImTm80tzUbYQYM9d","37ZtpRBkHcaq6hHy0X98zn","2SzjMcZIsE2zUWQnccsTAo","6hci8n9UowepjRmCc6CKTv","6AzKhCHOms83jvNVLsz0Bt","2VOomzT6VavJOGBeySqaMc","6PnTgx9lyvLGIcPnroCvc2","14ngWWxvUSnIMXgF6rzSk1","5vGLcdRuSbUhD8ScwsGSdA","7tFiyTwD0nx5a1eklYtX2J","0Snbzbd74RLfL0i4nn1vU5","6Qs4SXO9dwPj5GKvVOv8Ki","14wf185UxfNbSy8dwt4r4q","0u695M7KyzXaPIjpEbxOkB")
old_values <- c("7ytR5pFWmSjzHJIeQkgog4","6thXB4RmajS4oZPNiBAKy0","6OqrJqDMu15AGJHJazg9Nr","1rgnBhdG2JDFTbYkYRZAku","3apeXzypBMnUfYcZYNX6DH","6gBFPUFcJLzWGx4lenP6h2","513JwqDfENCJ0Woi0T42qy","13vDU8nPsvTGEVTMB8Vw7g","30VrBsh1STRBoIrhQOAwzK","79s5XnCN4TJKTVMSmOx8Ep","6i7zAdNhzUN2k1HcrBxPHG","1RSzyxqtIO4yX3EyiV4zT5","4u7EnebtmKWzUH433cf5Qv","0jT8Nl0shPS8115is0wD2Q","3xgT3xIlFGqZjYW9QlhJWp","24IgCW19L8lXKyFZwzFtD3","2xLMifQCjDGFmkHkpNLD9h")
for i in top200$track.id {
if top200$track.id[i] %in% old_values {
old_values[i] <- new_values[i]
}
}
Upvotes: 0
Views: 34
Reputation: 1692
You don't need a loop for that. If you want, you can overwrite the old_values
in the dataframe with the new_values, then you don't store the original values.
new_values <- c("4Aykm3xrOFSHrAnv80KUhh","3m0y8qLoznUYi73SUBP8GI","463CkQjx2Zk1yXoBuierM9","5ZULALImTm80tzUbYQYM9d","37ZtpRBkHcaq6hHy0X98zn","2SzjMcZIsE2zUWQnccsTAo","6hci8n9UowepjRmCc6CKTv","6AzKhCHOms83jvNVLsz0Bt","2VOomzT6VavJOGBeySqaMc","6PnTgx9lyvLGIcPnroCvc2","14ngWWxvUSnIMXgF6rzSk1","5vGLcdRuSbUhD8ScwsGSdA","7tFiyTwD0nx5a1eklYtX2J","0Snbzbd74RLfL0i4nn1vU5","6Qs4SXO9dwPj5GKvVOv8Ki","14wf185UxfNbSy8dwt4r4q","0u695M7KyzXaPIjpEbxOkB")
old_values <- c("7ytR5pFWmSjzHJIeQkgog4","6thXB4RmajS4oZPNiBAKy0","6OqrJqDMu15AGJHJazg9Nr","1rgnBhdG2JDFTbYkYRZAku","3apeXzypBMnUfYcZYNX6DH","6gBFPUFcJLzWGx4lenP6h2","513JwqDfENCJ0Woi0T42qy","13vDU8nPsvTGEVTMB8Vw7g","30VrBsh1STRBoIrhQOAwzK","79s5XnCN4TJKTVMSmOx8Ep","6i7zAdNhzUN2k1HcrBxPHG","1RSzyxqtIO4yX3EyiV4zT5","4u7EnebtmKWzUH433cf5Qv","0jT8Nl0shPS8115is0wD2Q","3xgT3xIlFGqZjYW9QlhJWp","24IgCW19L8lXKyFZwzFtD3","2xLMifQCjDGFmkHkpNLD9h")
top200 <- data.frame('a_column' = NA, old_values, check.names = F)
top200 <- rbind(top200, rnorm(2))
index <- top200$old_values %in% old_values
top200$old_values_replaced[index] <- new_values
> head(top200)
a_column old_values old_values_replaced
1 NA 7ytR5pFWmSjzHJIeQkgog4 4Aykm3xrOFSHrAnv80KUhh
2 NA 6thXB4RmajS4oZPNiBAKy0 3m0y8qLoznUYi73SUBP8GI
3 NA 6OqrJqDMu15AGJHJazg9Nr 463CkQjx2Zk1yXoBuierM9
4 NA 1rgnBhdG2JDFTbYkYRZAku 5ZULALImTm80tzUbYQYM9d
5 NA 3apeXzypBMnUfYcZYNX6DH 37ZtpRBkHcaq6hHy0X98zn
6 NA 6gBFPUFcJLzWGx4lenP6h2 2SzjMcZIsE2zUWQnccsTAo
Upvotes: 1