R 替换“替换”&引用;数据帧中的NA,其中&引用;也用作十进制
我得到了一个数据帧,其中“.”既用作十进制标记,又单独用作NAR 替换“替换”&引用;数据帧中的NA,其中&引用;也用作十进制,r,dataframe,na,R,Dataframe,Na,我得到了一个数据帧,其中“.”既用作十进制标记,又单独用作NA A B C D 1 . 1.2 6 1 12 . 3 2 14 1.6 4 要使用此数据帧,我需要获得: A B C D 1 NA 1.2 6 1 12 NA 3 2 14 1.6 4 在C列中,我应该如何处理保留小数但单独转换“ 以下是可复制格式的数据: data <- structure(list(A =
A B C D
1 . 1.2 6
1 12 . 3
2 14 1.6 4
要使用此数据帧,我需要获得:
A B C D
1 NA 1.2 6
1 12 NA 3
2 14 1.6 4
在C列中,我应该如何处理保留小数但单独转换“
以下是可复制格式的数据:
data <- structure(list(A = c(1L, 1L, 2L), B = c(".", "12", "14"), C = c("1.2",
".", "1.6"), D = c(6L, 3L, 4L)), .Names = c("A", "B", "C", "D"),
class = "data.frame", row.names = c(NA, -3L))
data假设您的数据框是data
:
data[data == "."] <- NA
data[data==”]假设您的数据帧是data
:
data[data == "."] <- NA
data[data==”]假设您的数据帧是data
:
data[data == "."] <- NA
data[data==”]假设您的数据帧是data
:
data[data == "."] <- NA
data[data==”]您可以使用type.convert
并将“
指定为您的na.string
:
df <- data ## Create a copy in case you need the original form
df
# A B C D
# 1 1 . 1.2 6
# 2 1 12 . 3
# 3 2 14 1.6 4
df[] <- lapply(df, function(x) type.convert(as.character(x), na.strings="."))
df
# A B C D
# 1 1 NA 1.2 6
# 2 1 12 NA 3
# 3 2 14 1.6 4
您可以使用type.convert
并指定“
作为na.string
:
df <- data ## Create a copy in case you need the original form
df
# A B C D
# 1 1 . 1.2 6
# 2 1 12 . 3
# 3 2 14 1.6 4
df[] <- lapply(df, function(x) type.convert(as.character(x), na.strings="."))
df
# A B C D
# 1 1 NA 1.2 6
# 2 1 12 NA 3
# 3 2 14 1.6 4
您可以使用type.convert
并指定“
作为na.string
:
df <- data ## Create a copy in case you need the original form
df
# A B C D
# 1 1 . 1.2 6
# 2 1 12 . 3
# 3 2 14 1.6 4
df[] <- lapply(df, function(x) type.convert(as.character(x), na.strings="."))
df
# A B C D
# 1 1 NA 1.2 6
# 2 1 12 NA 3
# 3 2 14 1.6 4
您可以使用type.convert
并指定“
作为na.string
:
df <- data ## Create a copy in case you need the original form
df
# A B C D
# 1 1 . 1.2 6
# 2 1 12 . 3
# 3 2 14 1.6 4
df[] <- lapply(df, function(x) type.convert(as.character(x), na.strings="."))
df
# A B C D
# 1 1 NA 1.2 6
# 2 1 12 NA 3
# 3 2 14 1.6 4
答案很好,但是如果您可以在使用read.csv()
或read.table()
获取数据时使用na.strings=“.”
上游,那就更好了。。。(哎呀,现在我看到@AnandaMahto在他的回答中已经提到了这一点)答案是好的,但是如果您可以在使用read.csv()
或read.table()
获取数据时使用na.strings=“。。。(哎呀,现在我看到@AnandaMahto在他的回答中已经提到了这一点)答案是好的,但是如果您可以在使用read.csv()
或read.table()
获取数据时使用na.strings=“。。。(哎呀,现在我看到@AnandaMahto在他的回答中已经提到了这一点)答案是好的,但是如果您可以在使用read.csv()
或read.table()
获取数据时使用na.strings=“。。。(哎呀,现在我看到@AnandaMahto在他的回答中已经提到了这一点)read.table中的na.strings参数可能是最简单/最短/最优雅的解决方案!read.table中的na.strings参数可能是最简单/最短/最优雅的解决方案!read.table中的na.strings参数可能是最简单/最短/最优雅的解决方案!read.table中的na.strings参数可能是最简单/最短/最优雅的解决方案!