想法是通过rbind
创建并更新目录数据框。这包括顺序读取和写入文件。对于某些数据帧,某些字符串列不包含任何值(空白字符串“”)会出现问题。不知何故,R将这些列视为NULL值,并显然将其删除。绑定这些数据帧会产生NAs,而不是所需的“”。R:带有空char字符串的数据框列在读取时变为NA
df <- data.frame(a = 1:5, b = "", stringsAsFactors = F)
write.csv(df, "df.csv", row.names = F)
df <- read.csv("df.csv", stringsAsFactors = F)
df <- rbind(df, data.frame(a = 1:5, b = "a", stringsAsFactors = F))
write.csv(df, "df.csv", row.names = F)
df <- read.csv("df.csv", stringsAsFactors = F)
> df
a b
1 1 <NA>
2 2 <NA>
3 3 <NA>
4 4 <NA>
5 5 <NA>
6 1 a
7 2 a
8 3 a
9 4 a
10 5 a
显然,所需的输出包含“”而不是NA。
我不知道如何解决它,但我认为“”在csv被视为一个空白字段。从'read.csv'的帮助:空白字段也被认为是逻辑,整数,数字和复杂字段中的缺失值。因此,阅读'''''为'NA'似乎对我有预期的行为。 – Heroka
您可以添加quote =“”read.csv哪些帮助,只是它将列名从a更改为Xa –
它并没有帮助,因为它将“”更改为“\”\“” –