在R中,如何以与查询SQL表类似的方式查询数据帧?
例如,如果我将上面的.csv加载到RStudio中,我怎样才能创建一个函数,让我输入特定的颜色,性别和年轻/旧,以便检索数据框中列出的确切值(例如函数)输入是“蓝色,男性,老”,输出是“29”)?
答案 0 :(得分:3)
如何以与查询SQL表类似的方式查询数据帧?
如果您熟悉SQL查询,R会让您满意!看看sqldf
package。您可以像处理SQL数据库中的表一样操作数据框(更准确地说,是SQLite数据库)
对于您的示例(假设您的数据存储在名为df
的数据框中):
sqldf("select Old from df where Color = 'Blue' and Gender = 'Male'")
当然,R有很多方法可以做,所以你可能想检查The Quick-R tutorial: Subsetting data。
答案 1 :(得分:2)
您可以安装一个包来执行此操作。
或者,您可以使用内置子集功能。
例如(如果df是您的数据帧):
subset(df, (Gender == 'Male' & Color == 'Blue'))
答案 2 :(得分:1)
我们走了 - 再次感谢Barranka和Olivier的帮助。
subset(df, (Gender == 'Male' & Color == 'Blue'), select=c(Old))