在 R 中对除两个之外的所有观测值进行子集化
Subsetting all observations except two in R
我有一个名为 Country 的变量,具有以下观察结果:
"AUS","AUT","BEL","BRA","BGR","CAN","CHN","CYP","CZE","DNK","EST","FIN","FRA","DEU", "GRC","HUN","IND","IDN","IRL","ITA","JPN","KOR","LVA", "LTU","LUX","MLT","MEX","NLD", "POL","PRT","ROU","RUS","SVK","SVN","ESP","SWE","TWN","TUR","GBR","USA"
我想进行子集化,以便删除 Country == LUX|MLT
处的所有观察值。
我试过了(比较乱):
mydata <- subset(mydata, Country == c("AUS","AUT","BEL","BRA","BGR","CAN","CHN","CYP","CZE","DNK","EST","FIN","FRA","DEU", "GRC","HUN","IND","IDN","IRL","ITA","JPN","KOR","LVA", "LTU","MEX","NLD", "POL","PRT","ROU","RUS","SVK","SVN","ESP","SWE","TWN","TUR","GBR","USA")))
但不幸的是我收到了错误信息:
Warning messages:
1: In is.na(e1) | is.na(e2) :
longer object length is not a multiple of shorter object length
2: In `==.default`(Country, c("AUS", "AUT", "BEL", "BRA", "BGR", "CAN",:
longer object length is not a multiple of shorter object length
尝试使用 %in%
而不是 ==
。 ==
假设两边等长(或者一侧可以回收)。
mydata <- subset(mydata, Country %in% c("AUS",...,"USA")))
这是我的解决方案。我使用 grep
函数。
data <- Country[-grep("LUX|MLT", Country)]
我有一个名为 Country 的变量,具有以下观察结果:
"AUS","AUT","BEL","BRA","BGR","CAN","CHN","CYP","CZE","DNK","EST","FIN","FRA","DEU", "GRC","HUN","IND","IDN","IRL","ITA","JPN","KOR","LVA", "LTU","LUX","MLT","MEX","NLD", "POL","PRT","ROU","RUS","SVK","SVN","ESP","SWE","TWN","TUR","GBR","USA"
我想进行子集化,以便删除 Country == LUX|MLT
处的所有观察值。
我试过了(比较乱):
mydata <- subset(mydata, Country == c("AUS","AUT","BEL","BRA","BGR","CAN","CHN","CYP","CZE","DNK","EST","FIN","FRA","DEU", "GRC","HUN","IND","IDN","IRL","ITA","JPN","KOR","LVA", "LTU","MEX","NLD", "POL","PRT","ROU","RUS","SVK","SVN","ESP","SWE","TWN","TUR","GBR","USA")))
但不幸的是我收到了错误信息:
Warning messages:
1: In is.na(e1) | is.na(e2) :
longer object length is not a multiple of shorter object length
2: In `==.default`(Country, c("AUS", "AUT", "BEL", "BRA", "BGR", "CAN",:
longer object length is not a multiple of shorter object length
尝试使用 %in%
而不是 ==
。 ==
假设两边等长(或者一侧可以回收)。
mydata <- subset(mydata, Country %in% c("AUS",...,"USA")))
这是我的解决方案。我使用 grep
函数。
data <- Country[-grep("LUX|MLT", Country)]