簡體   English   中英

R:如何將選擇表達式列表(在這種情況下為字符串)傳遞給子集函數?

[英]R: How to pass a list of selection expressions (strings in this case) to the subset function?

以下是一些示例數據:

data = data.frame(series = c("1a", "1b", "1e"), reading = c(0.1, 0.4, 0.6))

> data
  series reading
1     1a     0.1
2     1b     0.4
3     1e     0.6

我可以使用子集提取選擇性的單行:

> subset (data, series == "1a")
  series reading
1     1a     0.1

並使用邏輯OR提取多行

> subset (data, series == "1a" | series  == "1e")
  series reading
1     1a     0.1
3     1e     0.6

但是,如果我有很長的系列表達式列表,那么輸入起來會很煩人,所以我寧願以更好的方式定義它們,如下所示:

series_you_want = c("1a", "1e")  (although even this sucks a little)

並能夠做這樣的事情,

subset (data, series == series_you_want)

以上顯然失敗了,我不確定執行此操作的最佳方法是什么?

您可能需要%in%運算符

> dat <- data.frame(series = c("1a", "1b", "1e"), reading = c(0.1, 0.4, 0.6))
> series_you_want <- c("1a", "1e")
> subset(dat, series %in% series_you_want) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM