Bagaimana cara mengganti nilai inf dengan na di r


Anda dapat menggunakan metode berikut untuk mengganti nilai Inf dengan nilai NA di R:

Metode 1: Ganti Inf dengan NA di Vector

 x[is. infinite (x)] <- NA

Metode 2: Ganti Inf dengan NA di semua kolom bingkai data

 df[sapply(df, is. infinite )] <- NA

Metode 3: Ganti Inf dengan NA di kolom tertentu pada bingkai data

 df[c(' col1 ', ' col2 ')][sapply(df[c(' col1 ', ' col2 ')], is. infinite )] <- NA

Tutorial ini menjelaskan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

Contoh 1: Ganti Inf dengan NA pada vektor

Kode berikut menunjukkan cara mengganti semua nilai Inf dengan nilai NA pada sebuah vektor:

 #create vector with some Inf values
x <- c(4, 12, Lower, 8, Lower, 9, 12, 3, 22, Lower)

#replace Inf values with NA
x[is. infinite (x)] <- NA

#view updated vector
x

 [1] 4 12 NA 8 NA 9 12 3 22 NA

Perhatikan bahwa semua nilai Inf dari vektor asli telah diganti dengan nilai NA.

Contoh 2: Ganti Inf dengan NA di semua kolom frame data

Kode berikut menunjukkan cara mengganti nilai Inf dengan nilai NA di setiap kolom bingkai data:

 #create data frame
df <- data. frame (x=c(4, 5, 5, 4, Inf, 8, Inf),
                 y=c(10, Lower, Lower, 3, 5, 5, 8),
                 z=c(Inf, 5, 5, 6, 3, 12, 14))

#view data frame
df

    X Y Z
1 4 10 Lower
2 5 Lower 5
3 5 Lower 5
4 4 3 6
5 Lower 5 3
6 8 5 12
7 Lower 8 14

#replace Inf values with NA values in all columns
df[sapply(df, is. infinite )] <- NA

#view updated data frame
df

   X Y Z
1 4 10 NA
2 5 NA 5
3 5 NA 5
4 4 3 6
5 NA 5 3
6 8 5 12
7 NA 8 14

Perhatikan bahwa nilai Inf di setiap kolom bingkai data telah diganti dengan nilai NA.

Contoh 3: Ganti Inf dengan NA di kolom tertentu pada bingkai data

Kode berikut menunjukkan cara mengganti nilai Inf dengan nilai NA di kolom tertentu pada bingkai data:

 #create data frame
df <- data. frame (x=c(4, 5, 5, 4, Inf, 8, Inf),
                 y=c(10, Lower, Lower, 3, 5, 5, 8),
                 z=c(Inf, 5, 5, 6, 3, 12, 14))

#view data frame
df

    X Y Z
1 4 10 Lower
2 5 Lower 5
3 5 Lower 5
4 4 3 6
5 Lower 5 3
6 8 5 12
7 Lower 8 14

#replace Inf values with NA values in columns 'x' and 'z' only
df[c(' x ', ' z ')][sapply(df[c(' x ', ' z ')], is. infinite )] <- NA

#view updated data frame
df

   X Y Z
1 4 10 NA
2 5 Lower 5
3 5 Lower 5
4 4 3 6
5 NA 5 3
6 8 5 12
7 NA 8 14

Perhatikan bahwa nilai Inf pada kolom “x” dan “y” telah diganti dengan nilai NA.

Namun nilai Inf pada kolom “y” tetap utuh.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara menggunakan is.na di R
Cara menggunakan na.omit di R
Bagaimana cara mengganti blanko dengan NA di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *