[R] How to replace numeric value in the column contains Text (Factor)?

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Wed Apr 18 20:12:59 CEST 2018


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.wagley using 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 using 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.




More information about the R-help mailing list