我有数据框df1
:
df1 <- data.frame(respondent = factor(c(1, 2, 3, 4, 5, 6, 7)),
location = factor(c("California", "Oregon", "Oregon",
"Texas", "Oregon", "Mexico", "Canada")))
我想对其进行子集化,以便数据帧中仅保留Oregon
级的location
行:
df2 <- data.frame(respondent = factor(c(2, 3, 5)),
location = factor(c("Oregon", "Oregon",
"Oregon")))
根据数据帧的级别对数据帧进行子集化的最直接方法是什么?
答案 0 :(得分:0)
我们可以使用subset
并用droplevels
包裹掉未使用的levels
,因为它是factor
列
df2 <- droplevels(subset(df1, location == 'Oregon'))