我正在处理一个数据集,其中包含以大写字母输入的名字。我需要将名字作为字符变量处理,而不是因子。
数据集中有一个人的名字是"NA"。可以让
数据集中有一个人的名字是"NA"。可以让
R
将 "NA" 视为合法的字符值吗?我的解决方案是将该人重命名为 NAA,但我想知道是否有更好的方法。x <- tempfile()
cat("v1,v2", "NA,1", "AB,3", sep = "\n", file = x)
cat(readLines(x), sep = "\n")
# v1,v2
# NA,1
# AB,3
read.csv
的str
。请注意,NA
被视为NA
。str(read.csv(x))
# 'data.frame': 2 obs. of 2 variables:
# $ v1: Factor w/ 1 level "AB": NA 1
# $ v2: int 1 3
na.strings
参数:str(read.csv(x, na.strings = ""))
# 'data.frame': 2 obs. of 2 variables:
# $ v1: Factor w/ 2 levels "AB","NA": 2 1
# $ v2: int 1 3
read.csv
现在有一个文本参数:read.csv(text = c("v1,v2", "NA,1", "AB,3"))
。 - hadley
read.table
函数中的na.strings
参数修改为其他内容即可。 - A5C1D2H2I1M1N2O1R2T1na.strings="."
可能更安全。 - Roland