r - 用于索引的 R 管道运算符
问题描述
我想拥有与 dplyr's 相同类型的管道运算符%>%
,但用于索引而不是传递函数。例如,我想%l%
为至少向量和矩阵定义函数:
1 %l% df
将等效于df[1]
(向量)或df[1,]
(矩阵)。
abc <- c("a","b", "c")
def <- c("d","e", "f")
df <- data.frame(abc, def, stringsAsFactors = F)
df %l% 1
解决方案
例如,您可以这样做。为向量和矩阵/data.frames 设置行和列的子集。
`%l%` <- lineindex <- function(x, y) {
result <- NA
if(is.null(dim(y))|(!is.null(dim(y))&ncol(y)==1)) {
result <- y[x]
} else if(length(dim(y))==2) {
result <- y[x,]
}
return(result)
}
`%c%` <- colindex <- function(x, y) {
result <- NA
if(is.null(dim(y))|(!is.null(dim(y))&ncol(y)==1)) {
result <- y[x]
} else if(length(dim(y))==2) {
result <- y[,x]
}
return(result)
}
c(1,NA,2) %>% is.na() %>% which() %l% df
abc def
2 b e
c(1,NA,2) %>% is.na() %>% which() %c% df
[1] "d" "e" "f"
推荐阅读
- c# - 发送鼠标左键单击 c# 控制台应用程序
- loops - 不能在循环外打印相同的值
- javascript - 从 React 中的 JSON 推送时,数组仅存储最后一个变量
- numpy - set directory does not work for TemporaryFile
- r - Getting data frame from loadings of factor analysis (fa function in psych)
- json - Query result in JSON format (key value pair) on using @Query annotation in Spring Boot, Hibernate
- php - Php - 显示来自多个表的页面内容?
- ios - 基于关系查找核心数据父对象的谓词
- android - 在 kotlin 中使用不同的语言环境
- python - Selenium Scraping Javascript Table