我在R中编码并且在if语句中遇到问题

时间:2015-09-23 06:15:29

标签: r

我有一个非常大的数据框,我需要从数据数据框中获得前10名最高的注册数。它被命名为dt,注册的列名是UGDS。我遇到的问题是列出的一些学院/大学有NULL值,所以我的嵌套if语句不起作用。所有数字都是字符串,这就是我将它们转换为整数的原因。我一直在努力让我的嵌套if语句工作,所以我还没有放置代码来找到前十名。我只是想找到最高的那个。

任何帮助都会很棒。

f=dt$UGDS[1]
for(i in 2:length(dt$UGDS) {
  if(!is.null(dt$UGDS[i])) {
    if((strtoi(dt$UGDS[i])>f[1]) ==TRUE) {
      f=strtoi(dt$UGDS[i])
    }
  }
}

1 个答案:

答案 0 :(得分:0)

例如,您可以使用as.integeras.numeric(取决于数据的外观)将字符串转换为数字(假设您使用的是整数数据):

dt$UGDS <- as.integer(dt$UGDS)

然后,您可以使用以下内容获取具有最大UGDS - 值的10行:

head(dt[order(dt$UGDS),], n=10)