【发布时间】:2020-08-29 04:59:54
【问题描述】:
“gapminder”是一个数据集,其中包含每个国家和每年的生育率和 GDP 等变量。我想访问并比较土耳其和斯里兰卡在 2015 年的生育率。
library(dslabs)
data(gapminder)
当我使用 %in% 时,我如何知道哪个参数先出现?在我的 R 基础课程中,有人解释说,首先我们编写我们要查找的内容,然后是我们在其中搜索它的池。所以在我的例子中,我们在所有国家中寻找斯里兰卡和土耳其。代码应该是
gapminder %>%
filter(year == 2015 & c("Sri Lanka", "Turkey") %in% country)
但这是错误的,并且返回的不是所提供的代码:
gapminder %>%
filter(year == 2015 & country %in% c("Sri Lanka", "Turkey"))
然而文档清楚地指出: “x %in% 表,x = 要匹配的值(对于我们土耳其、斯里兰卡),表 = 要匹配的值(国家列表)”。为什么我的第一个代码是错误的呢?谁能给我一个简单的规则,先写哪个论点?
【问题讨论】:
-
c("Sri Lanka", "Turkey") %in% country返回一个 2 的布尔值,即斯里兰卡或土耳其是否在国内,这不适用于您的 data.frame -
你需要
country %in% c("Sri Lanka", "Turkey"),因为这是一个与你的data.frame一样长的布尔值
标签: r data-visualization dataset matching function