作为参考,我使用的是R软件包,称为balloonr。
我的代码如下:
Homeruns <- function(homerun) {
for (col in 1:ncol(bat_leaders)) {
Name = bat_leaders[col, "Name"]
homerun = bat_leaders[col, "HR"]
if (homerun > 50) {
print(paste(Name, homerun))
}
else if (homerun < 50) {
print(paste(Name, homerun))
}
}
}
我想我很困惑,因为它会经过并打印正确的结果,然后将错误抛出在底部。
此外,如果有一种更有效的方式来做我在做的事情,请告诉我!我只是在学习,因此尝试了一些事情。
答案 0 :(得分:0)
我假设bat_leaders
是一个数据帧。如果要操作数据帧,建议您查看dplyr package。比循环好得多。
例如,此代码将选择HR为而不是50 的行(在我看来,这是一种表示大于或小于50的快捷方式)。它还将选择所需的列,并将HR
重命名为homerun
:
library(dplyr)
bat_leaders %>%
filter(HR != 50) %>%
select(Name, homerun = HR)