我是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中做到这一点。任何帮助?
答案 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]))