R语言Subset函数报错:找不到对象'Rajasthan'问题求助
问题解决:R中筛选州数据时"object not found"错误
错误原因
在subset(statedf, State == Rajasthan)这行代码中,Rajasthan没有被引号包裹,R会将其识别为变量/对象名称,但你并未定义过该变量,因此触发"object 'Rajasthan' not found"的错误。字符串类型的匹配值必须用单引号或双引号明确标记。
修正后的代码
# 直接从指定URL读取数据(无需提前下载本地文件) statedf <- read.csv("https://data.incovid19.org/csv/latest/states.csv", header = TRUE, sep = ",") # 使用更规范的<-赋值运算符重命名列 names(statedf) <- c("Date", "State", "Confirmed", "Recovered", "Deceased", "Other", "Tested") # 给Rajasthan添加双引号,作为字符串进行匹配 mystatedf <- subset(statedf, State == "Rajasthan") mystatedf
可选的更简洁写法(使用dplyr包)
如果你习惯tidyverse语法,可以用更直观的筛选方式:
library(dplyr) mystatedf <- read.csv("https://data.incovid19.org/csv/latest/states.csv") %>% rename( Date = 1, State = 2, Confirmed = 3, Recovered = 4, Deceased = 5, Other = 6, Tested = 7 ) %>% filter(State == "Rajasthan")
内容的提问来源于stack exchange,提问作者stryx
相关产品推荐
相关产品推荐

