The simplest would be to convert precip to character and then back to a factor if you really want it to be a factor. This will also remove the levels that no longer exist.
str(dat) # 'data.frame': 5 obs. of 3 variables: # $ Sites : Factor w/ 5 levels "Site1","Site2",..: 1 2 3 4 5 # $ temp : num 14 15 12 12.5 17 # $ precip: Factor w/ 5 levels "15","34","high",..: 3 4 5 2 1 dat$precip <- as.character(dat$precip) dat[4:5, 3] <-"20" dat$precip <- factor(dat$precip) str(dat) # 'data.frame': 5 obs. of 3 variables: # $ Sites : Factor w/ 5 levels "Site1","Site2",..: 1 2 3 4 5 # $ temp : num 14 15 12 12.5 17 # $ precip: Factor w/ 4 levels "20","high","low",..: 2 3 4 1 1 ---------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77843-4352 -----Original Message----- From: R-help <r-help-boun...@r-project.org> On Behalf Of Marna Wagley Sent: Wednesday, April 18, 2018 12:56 PM To: r-help mailing list <r-help@r-project.org> Subject: [R] How to replace numeric value in the column contains Text (Factor)? Hi R user, Would you mind to help me on how I can change a value in a specific column and row in a big table? but the column of the table is a factor (not numeric). Here is an example. I want to change dat[4:5,3]<-"20" but it generated NA> do you have any suggestions for me? dat<-structure(list(Sites = structure(1:5, .Label = c("Site1", "Site2", "Site3", "Site4", "Site5"), class = "factor"), temp = c(14, 15, 12, 12.5, 17), precip = structure(c(3L, 4L, 5L, 2L, 1L), .Label = c("15", "34", "high", "low", "medium"), class = "factor")), .Names = c("Sites", "temp", "precip"), class = "data.frame", row.names = c(NA, -5L )) > dat[4:5, 3] <-"20" Warning message: In `[<-.factor`(`*tmp*`, iseq, value = c("20", "20")) : invalid factor level, NA generated Thanks, [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.