我想通过索引从数据框中选择一个值(Z) 1)列Y ==“A”和 2)列X是最低的
对于后续数据帧,值“30”(来自Z列)应返回:
X=seq(1,5)
Y=c("A","A","B","B","C")
Z=seq(10,50,10)
df <- data.frame(X,Y,Z)
df[df$Y=="B" & ???,"Z"]
可以在一步内完成,还是必须先选择“B”和 然后在第二步中最低?
答案 0 :(得分:0)
将所有内容放在一行中有点笨拙,但你可以这样做:
df[df$Y=="B" & df$X == min(df$X[df$Y=='B']), "Z"]
或
df[with(df, Y=='B' & X == min(X[Y=='B'])), 'Z']