当我试图从Error: $ operator not defined for this S4 class运行ctree时,只有当公式被写为使用as.formula()转换的字符串时,才会得到as.formula()。
下面的例子是:
#This works fine :
y <- ctree(formula = quotation ~ minute + temp, data=test[[1]], controls = ctree_control(mincriterion = 0.99))
#While this doesn't :
x <- "ctree(form
我有一个自建的实用程序,可以将数据从DataSet传输到Excel电子表格。我想在其中一列中放入一个公式(例如"=+RC-2-RC-1")。但是,Excel将其视为字符串,而不是将其解释为公式。该实用程序创建对象数组并将其传输到Excel中的某个范围。这就是问题所在吗?我过去曾将公式写入Excel,但仅当写入单个单元格时。
for (int r = 0; r < nr; r++)
{
r = dt.Rows[r];
nOut++;
aRng = new object[nc];
for (int c = 0; c &l
与R合作,这是一个真正的WTF:
R> f_string <- 'Sepal.Length ~ Sepal.Width'
R> l <- with(iris, lm(as.formula(f_string))) # works fine
R> f_formula <- as.formula(f_string)
R> l <- with(iris, lm(f_formula))
Error in eval(expr, envir, enclos) : object 'Sepal.Length' not found
是否有方法通过单击单元格来显示公式?我将多个硬编码公式写入vba,在运行宏之后,我只获得单元格中的值。我想要它,这样在宏运行之后,我仍然可以在单元格中查看公式。以下是我目前的公式:
Dim i, lastrow As Integer
Range("a10").Select
Selection.End(xlDown).Select
lastrow = ActiveCell.Row
For i = 10 To lastrow
Sheets("20140618 Loans").Range("Q" & i) = Application.VLo
假设我们假设了以下线性混合模型,我们一般称之为fit。
library(lme4)
fit <- lmer(Reaction ~ Days + (1 | Subject), data = sleepstudy)
假设我们也对从fit中提取原始公式(即固定效应和随机效应部分)感兴趣,我们想把它传递给第二个称为fit2的LMM。显然,将terms(fit)传递给lmer()的formula参数不起作用。
> fit2 <- lmer(terms(fit), data = sleepstudy)
Error: No random effects terms specified i
下面所示的R代码是一个最小的工作示例,用于复制一个我无法说我理解的错误。运行脚本应该会产生错误,Error in eval(expr, envir, enclos) : could not find function "fitModel"。在阅读了上的一两篇文章之后,我想我理解了为什么在这种情况下,"fitModel“不是在"obscureFunction”的执行环境中定义的。我通过修改“myFormula”来修正这个问题:myFormula <- "y ~ eval(fitModel(x, a), envir = environment(fitM
我试图将一个公式对象传递给Dirichlet回归,使用R中的DirichReg包,如下所示,该包似乎无法接受这种格式的公式,但文档中的任何内容都没有注意到这一限制。这个工作流的原因是,我试图建立一个交叉验证函数,它可以应用于不同公式的列表(IE与不同的协变量),并返回样本外预测能力,以帮助选择模型。
library (DirichletReg)
df <- ArcticLake # plug-in your data here
df$Y <- DR_data(df[,1:3]) # prepare the Y's
Warning in DR_data(df[, 1:3
我的目标是重载+操作符,以便调用上的方法。下面是一个玩具示例,其中有一个类为R6的aclass对象,该对象有一个方法add_function(foo),用于在其自身中存储一些任意函数。
我想用add_function(foo)的样式代替+ foo对的调用。我检查了,但没有搞清楚。
下面是一个R6对象,我们可以在其中添加任意函数
library(R6)
# The class (called aclass) looks like so:
Aclass <- R6Class("aclass",
public = list(
fun = NULL,
x =
我在R中生成了一些数据
n <- 1000; p <- 30
X <- matrix(rnorm(n*p), nrow = n, ncol = p)
beta <- c(rep(1, 10), rep(0, 10), rep(-2, 10))
y <- X %*% beta + rnorm(1000)
接下来,我想在X列上逐步回归y,从1到30。首先,我只包括拦截,然后只拦截和第一列,然后添加第二列,第三列,等等。我写了以下代码
model <- lm(y~1)
for(i in 1:30){
model <- update(model
在水晶报表中显示复选框的最佳方法是什么?
我的报告有一个“男性”和“女性”的框,其中一个应该被选中。
我目前的解决办法是画一个小的图形正方形,并用这样的公式对齐:
if {table.gender} = "M" then "X" else " "
这是一个糟糕的解决方案,因为更改字体会使我的"X“和它周围的框不对齐,而斜视屏幕并为每个框(有几十个)获得像素完美对齐是荒谬的。
有人有更好的解决方案吗?我考虑过使用老式的终端字符,但我不确定它们是否在水晶中正确显示。
编辑:我用的是水晶XI。
我想要遍历一个潜在解释变量的长向量,依次对每个响应变量进行回归。与其粘贴模型公式,我还在考虑使用reformulate()、。
下面的函数fun()似乎完成了这一工作,符合所需的模型。但是请注意,它在其call元素中记录构造的公式对象的name,而不是它的值。
## (1) Function using programmatically constructed formula
fun <- function(XX) {
ff <- reformulate(response="mpg", termlabels=XX)
lm(ff, data=mtcar
我对R中的一些奇怪行为感到有点困惑。当将公式转换为字符串时,它会自动将公式的两个部分分离为单独的元素,如下所示:
#Convert formula to character string
FORMULA <- formula(y ~ a + b + c + d)
CHAR <- as.character(FORMULA)
CHAR
[1] "~" "y" "a + b + c + d"
但是,当您试图返回时,您不会得到原始公式:
as.formula(CHAR)
~y
为什
我试图在python中使用ANOVA,但是在rpy2包的帮助下使用R代码。在下面,code stats.lm()工作,但不工作stats.aov()
import pandas as pd
from rpy2 import robjects as ro
from rpy2.robjects import pandas2ri
pandas2ri.activate()
from rpy2.robjects.packages import importr
stats = importr('stats')
R = ro.r
df = pd.DataFrame(data={
首先,为了查看rpy2是否正常工作,我运行了一个简单的模型(stats.lm):
import pandas as pd
from rpy2 import robjects as ro
from rpy2.robjects import pandas2ri
pandas2ri.activate()
from rpy2.robjects.packages import importr
stats = importr('stats')
R = ro.r
df = pd.DataFrame(data={'subject':['1','2'
我有一个R公式对象:
R> formula.obj <- Y ~ 1 + X + offset(Z)
我想去掉偏移量(Z),并获得:
R> formula.obj.want <- Y ~ 1 + X
在这种情况下,更新功能似乎不起作用:
R> update(formula.obj,.~.-offset(Z))
Y ~ X + offset(Z)
有办法从formula.obj.want获得formula.obj吗?
我是Stata的超级用户,R新手在R中很难让循环正常工作,基本上,我想用它来创建一系列的pirateplots。
我试过了
mycols <- c("column1","column2","column3")
for (i in mycols){
filename <- paste("~/Desktop/",i,".pdf",sep="")
pdf(filename)
pirateplot(formula = i ~ xvar,
data = df)
嗨,我有一个COUNTIF公式:RawData_Chq!G2:G5000,"*ICS*"。使用VBA,我希望能够在一个字符串中提取sheetname: RawData_Chq,在另一个字符串中提取条件ICS。我该怎么做呢?
Dim formula_extract As String
Dim CI_Name As String
Dim ButtonName As String
Dim CI_Extract As String
Dim Sheet_Extract As String
Dim Split_Formula() As String
ButtonName = Applica
我想使用bootstrapping &运行回归,但由于某些原因,它不起作用。我总是收到错误消息"Anzahl der zu ersetzenden Elemente ist kein Vielfaches der Ersetzungslänge“(英文:显然我有两组元素&我想将其中一组更改为另一组,但它们不匹配)。
有没有人看到这里可能出了什么问题:
bootReg <- function(formula,data,indices)
{
d <- data[indices,]
fit <- lm(formula, dat
我在一个循环中动态创建了一个公式,稍后在一些模型中使用它,例如: y ~ x1+x4+x7+x13+x15 在特定情况下,由于一些因素,可能会包含NA元素: y ~ x1+x3+NA+x13+NA+x19 我想从公式中去掉(省略) NA变量,这样我就可以得到: y ~ x1+x3+x13+x19 在R中做的方法是什么?我的目标是得到一个只包含变量的“干净”公式。
我正在尝试对数据进行一些带有状态模型的Newey来估计参数,下面是我这样做的代码:
from __future__ import print_function, division
import xlrd as xl
import numpy as np
import scipy as sp
import pandas as pd
import statsmodels.formula.api as smf
import statsmodels.api as sm
file_loc = "/Python/dataset_3.xlsx"
workbook = xl.open_wo
我将展示一个人为设计的例子,所以请耐心等待。
我们的产品使用CSV文件作为过渡数据,在Excel用户界面之间发送数据,使用Java程序操作并将其传输到SQL后端。我们有一个VBA脚本,它按以下顺序处理所有Excel工作:
将所有8个CSV文件加载到单个Excel文档中的8个工作表中。然后对批量数据进行迭代,执行以下操作:
'Loop over data:
Dim r As Range
...
r.NumberFormat = "General"
r.Formula = r.Formula
'End loop
这会导致整个工作表填充