I would recommend that you avoid converting (or letting R convert for you) your textual data values into factors until you have finished doing this kind of modification.
You can restore the column to character data type either re-reading it with the stringsAsFactors=FALSE option to read.table/read.csv functions, or by converting it: dat[[ 3 ]] <- as.character( dat[[ 3 ]] ) and then your replacement will work. On April 18, 2018 12:55:40 PM CDT, Marna Wagley <marna.wag...@gmail.com> wrote: >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. -- Sent from my phone. Please excuse my brevity. ______________________________________________ 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.