用 R 中数据帧中的 NA 替换 Inf
在本文中,我们将讨论如何在 R 编程语言中将 Dataframe 中的 Inf (Infinity) 替换为 NA。
创建一个用于演示的数据框:
R
# create a datframe with 3 columns and 5 rows
data=data.frame(column1 = c(Inf, 2, 3, 4, 5),
column2 = c(1, Inf, 1, Inf, 1),
column3 = c(1,2,3,Inf,Inf))
# display dataframe
print(data)
R
# create a datframe with 3 columns and 5 rows
data=data.frame(column1 = c(Inf, 2, 3, 4, 5),
column2= c(1, Inf, 1, Inf, 1),
column3=c(1,2,3,Inf,Inf))
# actual dataframe
print(data)
# replace inf with NA
final=do.call(data.frame, lapply
(data, function(value) replace
(value, is.infinite(value),NA)))
# display
print(final)
R
# create a datframe with 5 columns and 5 rows
data=data.frame(column1 = c(Inf, 2, 3, 4, 5),
column2= c(1, Inf, 1, Inf, 1),
column3=c(1,2,3,Inf,Inf),
column4=c(Inf,Inf,Inf,3,4),
column5=c(1,2,3,4,Inf))
# actual dataframe
print(data)
# replace inf with NA
final=do.call(data.frame,lapply
(data, function(value) replace
(value, is.infinite(value),NA)))
# display
print(final)
输出:
所以我们可以通过使用 lapply()函数用 NA 替换 Inf,我们必须创建自己的函数来用 NA 替换 Inf,然后通过 do.call 方法将该函数传递给 lapply()。
函数语法:
function(value)
replace(value, is.infinite(value),
NA)
其中 value 是输入值,如果它是无限的,则使用 replace() 将值替换为 NA。
示例 1:R 程序将数据帧中的 Inf 值替换为 NA
电阻
# create a datframe with 3 columns and 5 rows
data=data.frame(column1 = c(Inf, 2, 3, 4, 5),
column2= c(1, Inf, 1, Inf, 1),
column3=c(1,2,3,Inf,Inf))
# actual dataframe
print(data)
# replace inf with NA
final=do.call(data.frame, lapply
(data, function(value) replace
(value, is.infinite(value),NA)))
# display
print(final)
输出:
示例 2:
电阻
# create a datframe with 5 columns and 5 rows
data=data.frame(column1 = c(Inf, 2, 3, 4, 5),
column2= c(1, Inf, 1, Inf, 1),
column3=c(1,2,3,Inf,Inf),
column4=c(Inf,Inf,Inf,3,4),
column5=c(1,2,3,4,Inf))
# actual dataframe
print(data)
# replace inf with NA
final=do.call(data.frame,lapply
(data, function(value) replace
(value, is.infinite(value),NA)))
# display
print(final)
输出: