2016-11-25 67 views
0

我试图在数据框中设置一个值,而不会丢失水平。只需设定值似乎减少了水平,以1 Initally:R:改变数据帧中的值而不会丢失因子水平

str(one_row_df$city) 
Factor w/ 297 levels "san francisco","atlanta",..: 186 

设置:

one_row_df$city <- as.factor("new york") 
str(one_row_df$city) 
Factor w/ 1 level "new york": 1 

如何设置这个字段,而不会丢失所有因子水平?

+1

是你想重命名你的因子的水平? – Nate

+0

只是创建一个与df具有相同结构的单一观测值,所以我可以对其进行预测(xgboost) – OneSolitaryNoob

回答

2

可以使用factor代替as.factor

one_row_df$city <- factor("new york", levels=c(levels(one_row_df$city), "new york")) 
+0

完美!我应该怎么做新手? – OneSolitaryNoob