出版社送了一本书(R语言)给我,就是这个《R语言实战》第三版,它已经是R语言领域的“老兵”了,几乎是人手一本。
新鲜出炉的第三版,更新也很大,全面拥抱了ggplot体系。对我来说,比较新的知识点可能是一些小技巧,这里借花献佛给大家。

在R语言中,如果你试图访问一个不存在的对象,你会收到一个错误消息,比如 "object 'x' not found"。这种情况可能有以下几种原因:
mydata和MyData是两个不同的对象。rm()函数删除了一个对象,那么你就无法再访问这个对象了。如果你收到了一个 "object not found" 的错误消息,你应该首先检查你的代码,确保你正确地创建了你试图访问的对象,并且你没有在试图访问它之前删除它。你也应该检查你的拼写和大小写,确保它们是正确的。另外附赠一些帮助确保命名正确的建议:
apple_data,而不是仅仅是data。if,else,function等,这些都不能用作变量名。ls()函数来查看你当前的工作空间中有哪些对象。这可以帮助你跟踪你的变量名。data1和data2)可能会导致混淆。尽可能使用更具描述性的名称。以上这些策略可以帮助你更有效地管理你的R代码中的命名,并减少因为命名错误导致的问题。
在R语言中,如果你尝试对不兼容的对象类型执行某些操作,你可能会遇到格式不匹配的错误。以下是一些常见的情况:
向量操作:如果你尝试将一个数字向量与一个字符向量进行数学运算,你会得到一个错误,因为这两种类型的向量不能进行数学运算。
c(1, 2, 3) + c("a", "b", "c") # 这会产生错误
数据框子集:如果你尝试使用一个字符向量来索引一个只有数字列名的数据框,你会得到一个错误。
df <- data.frame(1:3, 4:6)
df["a", ] # 这会产生错误
函数参数:如果你向函数提供了错误类型的参数,你会得到一个错误。例如,mean()函数期望其参数是数字,如果你给它一个字符向量,它会产生错误。
mean("a") # 这会产生错误
当你遇到这种类型的错误时,你应该首先检查你的对象的类型。你可以使用class()函数来查看对象的类型,或者使用str()函数来查看对象的结构。然后,你需要确保你的操作是对这种类型的对象有效的。如果需要,你可能需要将你的对象转换为另一种类型,你可以使用如as.numeric()或as.character()等函数来进行类型转换。