如何从具有多个参数的数据框中获取一行

时间:2019-04-17 16:25:26

标签: r

我正在尝试从Titanic df中获取一行“ most_lost”。

我创建了一个新变量(most_lost),并希望将信息行排除在Titanic df. most_lost <- unlist(titanic_df[max("Freq"), ])

之内

我尝试了多种方法,每次运行它,信息都会返回NA

most_lost <- unlist(titanic_df[max("Freq"), ])加上这行代码我的数据

come out
 Class      Sex      Age Survived     Freq 
      NA       NA       NA       NA       NA 

我希望它出来

Crew Male Adult No 670

我尝试过

most_lost <- titanic_df[max("Freq"), ] 

,它仍然返回NA

1 个答案:

答案 0 :(得分:1)

如果您创建了一个变量,那么它将是一列而不是一行。 试试

max(titanic_df[, "Freq"])

修改

好吧,如果您想获得该行...

titanic_df[titanic_df$Freq == max(titanic_df$Freq), ]

或使用tidyverse:

library(tidyverse)
titanic_df %>% 
  filter(Freq == max(Freq))

或者您可以按频率进行排序并获得第一行

titanic_df %>% 
  arrange(desc(Freq)) %>% 
  head(1)