我有一个数据帧数据[n]
每个n = 2列列表包含x,y值
我需要确定所有X的最大范围和所有Y的最大范围(用于绘图目的)。
最好的方法是什么?除了遍历每一对之外。
X1 Y1 X2 Y2 X3 Y4
1 10 7 12 30 23
5 13 9 15 12 4
7 16 4 3 1 2
我想要计算:
最小X = 1 最大X = 30
Min Y = 2 最大Y = 23
除了建议的循环对之外,我没有看到任何方法。
答案 0 :(得分:2)
我不确定这是否是您想要的,但您可以尝试修改此代码以获得所需内容。
您可以编写自己的功能
minmax <- function(df, pattern){
Min <- min(df[, grepl(pattern, names(df))])
Max <- max(df[, grepl(pattern, names(df))])
return(c(min=Min, max=Max))
}
现在使用它!
> minmax(df, "X")
min max
1 30
> minmax(df, "Y")
min max
2 23
这是另一个版本:
minmax2 <- function(x){
return(c(min=min(x), max=max(x)))
}
> minmax2(df[, grepl("X", names(df))])
min max
1 30
> minmax2(df[, grepl("Y", names(df))])
min max
2 23
答案 1 :(得分:1)
试试这个:
#dummy data
x <- matrix(1:24,ncol=8)
#get range
range(x[,c(seq(1,ncol(x),2))])
range(x[,c(seq(2,ncol(x),2))])