我想运行中的R多项式Logit并使用了两个库,nnet并且mlogit,其产生不同的结果和报告不同类型的统计数据.我的问题是:
什么是系数和报告标准误差之间discrepency的来源nnet和那些报道mlogit?
我想用Latex文件将结果报告给文件stargazer.这样做时,存在一个有问题的权衡:
如果我使用mlogit从那时开始的结果,我得到了我想要的统计数据,例如psuedo R平方,但输出是长格式的(见下面的例子).
如果我使用nnet那时的结果,格式是预期的,但它报告我不感兴趣的统计数据,如AIC,但不包括,例如,psuedo R平方.
我想在我使用时mlogit的格式化中报告统计数据.nnetstargazer
这是一个可重复的示例,有三种选择:
library(mlogit)
df = data.frame(c(0,1,1,2,0,1,0), c(1,6,7,4,2,2,1), c(683,276,756,487,776,100,982))
colnames(df) <- c('y', 'col1', 'col2')
mydata = df
mldata <- mlogit.data(mydata, choice="y", shape="wide")
mlogit.model1 <- mlogit(y ~ 1| col1+col2, data=mldata)
Run Code Online (Sandbox Code Playgroud)
编译时的tex输出是我所说的"长格式",我认为这是不希望的:
现在,使用nnet:
library(nnet)
mlogit.model2 = multinom(y ~ 1 + col1+col2, data=mydata)
stargazer(mlogit.model2)
Run Code Online (Sandbox Code Playgroud)
给出tex输出:
这是我想要的"宽"格式.注意不同的系数和标准误差.
我在Jupyter Notebook中使用Matlab内核.我想在笔记本中编写一个函数,而不是引用另一个.m文件中保存的函数.问题是,当我尝试这样做时,我收到错误:
错误:在此上下文中不允许使用函数定义.
在新的笔记本中,它看起来如下图:
现在,如果我创建一个新.m文件,它确实有效:
然后通过笔记本调用then函数:
但这很不方便.有没有办法直接在Jupyter Notebook中定义函数?
我想检查变量是否属于该NoneType类型.对于其他类型,我们可以做以下事情:
type([])==list
Run Code Online (Sandbox Code Playgroud)
但是NoneType这种简单的方法是不可能的.也就是说,我们不能说type(None)==NoneType.还有另一种方法吗?为什么有些类型而不是其他类型可能?谢谢.
我正在尝试rpy2在 Windows 7 上安装python 3的包。所以我只是在命令行中输入 pip install rpy2 。但是,由于我不明白的原因,它失败了,有人可以解决这个问题吗?它在命令行中返回以下内容:
Collecting rpy2
Using cached rpy2-2.8.2.tar.gz
Complete output from command python setup.py egg_info:
Warning: Tried to guess R's HOME but no command <R> in the PATH.
_______________________________
Command "python setup.py egg_info" failed with error code 1 in C:\Users\...\AppData\Local\Temp\pip-build-14jn4kdx\rpy2\
Run Code Online (Sandbox Code Playgroud) 我想以pandas.groupby特定的方式使用.给定一个数据帧有两个布尔列(叫他们col1和col2)和ID列,我想通过以下方式添加一列:
对于每个条目,if(col2为True)和(col1对于具有相同id的任何条目为True),则指定True.否则为假.
我举了一个简单的例子:
df = pd.DataFrame([[0,1,1,2,2,3,3],[False, False, False, False, False, False, True],[False, True, False, False, True ,True, False]]).transpose()
df.columns = ['id', 'col1', 'col2']
Run Code Online (Sandbox Code Playgroud)
给出以下内容DataFrame:
id col1 col2
0 0 False False
1 1 False True
2 1 False False
3 2 False False
4 2 False True
5 3 False True
6 3 True False
Run Code Online (Sandbox Code Playgroud)
根据上述规则,应添加以下列:
0 False
1 False
2 False
3 False
4 False
5 True …Run Code Online (Sandbox Code Playgroud) 我正在使用它xtable来生成tex数据帧的输出R.3.3.有没有办法将输出写入文件?当我使用它时,我只能tex在我的R控制台中获取代码.
我有一个问题,让rollingPandas 的功能做我想做的.我希望每个人都能计算到目前为止的最大值.这是一个例子:
df = pd.DataFrame([[1,3], [1,6], [1,3], [2,2], [2,1]], columns=['id', 'value'])
Run Code Online (Sandbox Code Playgroud)
好像
id value
0 1 3
1 1 6
2 1 3
3 2 2
4 2 1
Run Code Online (Sandbox Code Playgroud)
现在我希望获得以下DataFrame:
id value
0 1 3
1 1 6
2 1 6
3 2 2
4 2 2
Run Code Online (Sandbox Code Playgroud)
问题是,当我这样做
df.groupby('id')['value'].rolling(1).max()
Run Code Online (Sandbox Code Playgroud)
我得到了相同的DataFrame.而当我这样做
df.groupby('id')['value'].rolling(3).max()
Run Code Online (Sandbox Code Playgroud)
我得到了一个Nans的DataFrame.有人可以解释如何正确使用rolling或其他一些Pandas函数来获取我想要的DataFrame吗?
我在Python 3.6.3中使用plotly,我正在尝试像这里一样做一个Choropleth地图.我想改变悬停在地图上方时出现的属性.也就是说,例如,如果我们考虑加利福尼亚的第一张地图和悬停,它看起来像:
我想更改显示的内容的字体大小和框的大小.有没有办法访问这些?
以下是生成它的代码:
import plotly.plotly as py
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_us_ag_exports.csv')
for col in df.columns:
df[col] = df[col].astype(str)
scl = [[0.0, 'rgb(242,240,247)'],[0.2, 'rgb(218,218,235)'],[0.4, 'rgb(188,189,220)'],\
[0.6, 'rgb(158,154,200)'],[0.8, 'rgb(117,107,177)'],[1.0, 'rgb(84,39,143)']]
df['text'] = df['state'] + '<br>' +\
'Beef '+df['beef']+' Dairy '+df['dairy']+'<br>'+\
'Fruits '+df['total fruits']+' Veggies ' + df['total veggies']+'<br>'+\
'Wheat '+df['wheat']+' Corn '+df['corn']
data = [ dict(
type='choropleth',
colorscale = scl,
autocolorscale = False,
locations = df['code'],
z = df['total exports'].astype(float),
locationmode = 'USA-states',
text …Run Code Online (Sandbox Code Playgroud) 我对寻找使用Numpy在Python3.6中进行简单操作的最快方法感兴趣。我希望创建一个函数,并从给定的数组到函数值的数组。这是使用以下代码的简化代码map:
import numpy as np
def func(x):
return x**2
xRange = np.arange(0,1,0.01)
arr_func = np.array(list(map(func, xRange)))
Run Code Online (Sandbox Code Playgroud)
但是,由于我使用复杂的函数运行它并使用大型数组,因此运行时速度对我来说非常重要。有没有已知的更快方法?
编辑我的问题与这一问题不同,因为我要问的是从函数而不是生成器进行赋值。
我希望在查看我的 DataFrame 时,我将看到 multiIndex 的所有值,包括当后续行对其中一个级别具有相同的索引时。下面是一个例子:
arrays = [['20', '50', '20', '20'],['N/A', 'N/A', '10', '30']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Jim', 'Betty'])
pd.DataFrame([np.random.rand(1)]*4,index=index)
Run Code Online (Sandbox Code Playgroud)
输出是:
0
Jim Betty
20 N/A 0.954973
50 N/A 0.954973
20 10 0.954973
30 0.954973
Run Code Online (Sandbox Code Playgroud)
我想在西南角也有一个 20。也就是说,我希望我的 DataFrame 是:
0
Jim Betty
20 N/A 0.954973
50 N/A 0.954973
20 10 0.954973
20 30 0.954973
Run Code Online (Sandbox Code Playgroud)
Pandas 有能力做到这一点吗?