如何在R中找到列的最小值?

时间:2012-12-07 11:40:04

标签: r

我是R的新人,我正在尝试做一些非常简单的事情。我加载了一个包含四列的txt文件,现在我想得到第二列的最小值。 这是我的代码:

 ## Choose the directory of the file

 setwd("//Users//dkar//Desktop")

 ## Read the txt file

 data<-read.table("export_v2.txt",sep="",header=T)

 str(data)

 ##  this command gives me the minimum for all 4 columns!!
 a<-apply(data,2,min)

实际上,如果我想做这样的事情:min(data(:,2))。但我不知道如何在R中做到这一点。任何帮助?

4 个答案:

答案 0 :(得分:39)

如果您需要特定列的最小值

min(data[,2])

注意:R会考虑NA最小值和最大值,因此如果您的列中包含NA,则返回NA。要解决问题,请使用:

min(data[,2], na.rm=T)

答案 1 :(得分:10)

如果您更喜欢使用列名,可以选择这样做:

min(data$column_name)

答案 2 :(得分:0)

df <- read.table(text = 
             "X  Y
             1  2  3
             2  4  5
             3  6  7
             4  8  9
             5 10 11",
             header = TRUE)


y_min <- min(df[,"Y"])

# Corresponding X value
x_val_associated <- df[df$Y == y_min, "X"]

x_val_associated

首先,仅使用“ Y”列上的min函数找到Y min。请注意,返回的结果只是一个整数值。然后,要查找关联的X值,您可以将data.frame仅子集到最小Y值所在的行,然后仅提取“ X”列。

您现在有了X和Y的两个整数值,其中Y是最小值。

答案 3 :(得分:-1)

由于它是一个数字运算,我们应该首先将它转换为数字形式。如果数据是因子数据类型,则无法执行此操作 使用str()检查列的数据类型。

min(as.numeric(data[,2]))