Hi,
May be this helps:
dat1<- read.table(text="
142,QUANTIZE_CAL_MIN_BAND_10,1
143,QUANTIZE_CAL_MAX_BAND_11,65535
144,QUANTIZE_CAL_MIN_BAND_11,1
145,END_GROUP,MIN_MAX_PIXEL_VALUE
146,GROUP,RADIOMETRIC_RESCALING
147,RADIANCE_MULT_BAND_1,1.2483E-02
148,RADIANCE_MULT_BAND_2,1.2730E-02
",sep=",",header=FALSE,stringsAsFactors=FALSE,row.names=1)
#Assuming that 142, 143, etc are row.names.
#You could create a new column with just the numeric values leaving the strings
in the 2nd column.
dat1$NewCol<-as.numeric(ifelse(grepl("\\d+",dat1[,2]),dat1[,2],NA))
dat1[,2][grepl("\\d+",dat1[,2])]<-NA
dat1
#????????????????????????? V2??????????????????? V3???? NewCol
#142 QUANTIZE_CAL_MIN_BAND_10????????????????? <NA> 1.0000e+00
#143 QUANTIZE_CAL_MAX_BAND_11????????????????? <NA> 6.5535e+04
#144 QUANTIZE_CAL_MIN_BAND_11????????????????? <NA> 1.0000e+00
#145??????????????? END_GROUP?? MIN_MAX_PIXEL_VALUE???????? NA
#146??????????????????? GROUP RADIOMETRIC_RESCALING???????? NA
#147???? RADIANCE_MULT_BAND_1????????????????? <NA> 1.2483e-02
#148???? RADIANCE_MULT_BAND_2????????????????? <NA> 1.2730e-02
?str(dat1)
#'data.frame':??? 7 obs. of? 3 variables:
# $ V2??? : chr? "QUANTIZE_CAL_MIN_BAND_10"
"QUANTIZE_CAL_MAX_BAND_11" "QUANTIZE_CAL_MIN_BAND_11"
"END_GROUP" ...
# $ V3??? : chr? NA NA NA "MIN_MAX_PIXEL_VALUE" ...
# $ NewCol: num? 1 65535 1 NA NA ...
A.K.
Hello,
I am relatively new to the R community.
I have a .txt file containing the metafile with informations
regarding landsat calibration parameters. This contains 2 columns: one
with the description of the parameter and the other one with the value
of the parameter. The problem is that the column with the values
contains also words in some cases, which I believe makes the
read.table() read the column not as a numeric value.
This is an example of how it looks like:
142 ? ? ? ? ? QUANTIZE_CAL_MIN_BAND_10 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ?1 142
143 ? ? ? ? ? QUANTIZE_CAL_MAX_BAND_11 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?65535 143
144 ? ? ? ? ? QUANTIZE_CAL_MIN_BAND_11 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ?1 144
145 ? ? ? ? ? ? ? ? ? ? ? ? ?END_GROUP ? ? ? ? ? ? ? ? ? ? ? ? ?
?MIN_MAX_PIXEL_VALUE 145
146 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?GROUP ? ? ? ? ? ? ? ? ? ? ? ?
?RADIOMETRIC_RESCALING 146
147 ? ? ? ? ? ? ? RADIANCE_MULT_BAND_1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.2483E-02 147
148 ? ? ? ? ? ? ? RADIANCE_MULT_BAND_2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.2730E-02 148
149 ? ? ? ? ? ? ? RADIANCE_MULT_BAND_3 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.1656E-02 149
I need the left column to be read as numeric, does anyone have some good
suggestion on how to approach this problem?
Thank you in advance.
Stefano