当我在R提示符下运行此代码时,它工作正常;我在df_frame
中观察到了5个变量。
st <- "AK"
df_frame <- data.frame(hospital=factor(),
state=factor(),rank=numeric(),ties=numeric(),
outcome=numeric())
temp <- data.frame(list(hospital="<NA>",
state=st,rank=0,ties=0,outcome=0))
df_frame <- rbind(df_frame,temp)
当我在循环中使用相同的代码时,我循环遍历状态列表:
for (st in states) {
if (st %in% ranked_states) {
states_lst <- which(hosp_state == st)
df_frame <- rbind(df_frame, df_outcome[states_lst,])
# Handle ties here
} else {
#df_frame[nrow(df_frame)+1,] <- c("<NA>",state,0,0,0)
#df_frame <- rbind(df_frame,
# c(as.character("<NA>"),as.character(state),0,0,0))
temp <- data.frame(list(hospital="<NA>",
state=st,rank=0,ties=0,outcome=0))
df_frame <- rbind(df_frame,temp)
}
}
我有这些警告:
1: In `[<-.factor`(`*tmp*`, ri, value = "<NA>") :
invalid factor level, NA generated
2: In `[<-.factor`(`*tmp*`, ri, value = "AK") :
invalid factor level, NA generated
无论factor
和stringsAsFactors=FALSE
的神奇组合如何,它都无法发挥作用。
答案 0 :(得分:0)
我收到了同样的错误。经过多次尝试,我的问题是其中一个data.frame,不仅仅是data.frame。
<强>类(your_dataframe)强>
结果: "grouped_df" "tbl_df" "tbl" "data.frame"
我解决了your_dataframe <- as.data.frame(your_dataframe)
P.S:仅在Ubuntu
中的Windows plataform上没有必要