如果我运行一个randomForest(y ~ x, data = df)模型,x我得到一个超过53个级别的因子变量
Error in randomForest.default(m, y, ...) :
Can not handle categorical predictors with more than 53 categories.
Run Code Online (Sandbox Code Playgroud)
如果我改变x到as.character(x)并重新运行我没有得到任何错误.
幕后有什么不同?这两种类型都不是被视为分类变量吗?
将数据帧的每一列乘以向量的最有效方法是什么?
例如,数据框 ( df) 具有以下列 ( col1, col2, col3, col4),向量 ( v) 具有以下元素 ( v1,v2,v3)。
我希望输出是: col2*v1, col3*v2, col4*v3
我一直在尝试,df[c(2:4)] * c(v1,v2,v3)但似乎向量的元素没有乘以每列的每一行。
我有以下代码:
<ul>
{% for name in items %}
<li style="list-style-type: none;">
<a href="{{ url_for('content', values='{{name}}') }}">{{ items[name].title }}</a>
</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
我想插入url_for一个GET参数,该参数将是项目的名称.当我得到发送给我的值时views.py,我得到整个字符串'{{name}}'.
@app.route('/content', methods=['GET', 'POST'])
def content():
name = request.args.get('values')
print name
>> {{name}}
Run Code Online (Sandbox Code Playgroud)
我试过和+喜欢联系{{ url_for('content', values='"+{{name}}+"') }}">{{ items[name].title }},但它也没有用.
关于如何做到这一点的任何线索?是否有可能以这种方式发送POST参数?
我有一个数据框df,第一列看起来像这样:
[1] "760–563" "01455–1" "4672–04" "11–31234" "22–12" "11111–53" "111–21" "17–356239" "14–22352" "531–353"
Run Code Online (Sandbox Code Playgroud)
我想拆分那一栏-.
我正在做的是
strsplit(df[,1], "-")
Run Code Online (Sandbox Code Playgroud)
问题是它无法正常工作.它返回一个列表而不拆分元素.我已经尝试添加参数fixed = TRUE并对参数进行常规表达split但没有任何效果.
奇怪的是,如果我自己复制专栏,例如:
myVector <- c("760–563" "01455–1" "4672–04" "11–31234" "22–12" "11111–53" "111–21" "17–356239" "14–22352" "531–353")
Run Code Online (Sandbox Code Playgroud)
然后应用它strsplit,它的工作原理.
我已经检查了我的列类型和类
class(df[,1])而且typeof(df[,1])两者都归还给我character,所以这很好.
我也使用dplyr的数据帧,所以它是类型tbl_df.我把它转换回来dataframe但也没有用.
也试过,apply(df, 2, function(x) strsplit(x, "-", fixed = T))但也没有工作.
有线索吗?