返回 NaN 的统一核函数

     2023-03-11     165

关键词:

【中文标题】返回 NaN 的统一核函数【英文标题】:Uniform kernel function returning NaN 【发布时间】:2014-12-06 23:27:03 【问题描述】:

我正在编写自己的统一核函数,如下所示:

uniform.kernel <- function(data, predict.at, iv.name, dv.name, bandwidth)
  #Load in the DV/IV and turn them into vectors
  iv <- data$iv.name
  dv <- data$dv.name

  #Given the point we're predicting,
  #what kernel weights does each observation of the iv receive?
  kernelvalue <- ifelse(abs((iv - predict.at)/bandwidth)<= 1, 0.5,0)

  #Given these kernel values and the dv,
  #what is our estimate of the conditional expectation?
  conditional.expectation <-sum(kernelvalue*dv)/sum(kernelvalue)

  #Return the expectation
  return(conditional.expectation)

然后将其应用于此数据:

set.seed(101)
x <- seq(from=0, to=100, by=.1)
errors <- runif(min=.5, max=5000, n=length(x))
y <- x^2 - 3*x + errors^1.1
combo.frame <- cbind.data.frame(x,y)

仅当我将函数应用于数据时(如下所示),我得到“NaN”。

uniform.kernel(combo.frame, 20, "x","y", 4)

但是,当我直接将函数中的步骤写到数据集(不使用函数)时,我得到了正确的答案。例如,我执行以下操作并得到正确的结果:

kernelvalue <- ifelse(abs((combo.frame$x - 20)/4)<= 1, 0.5,0)
conditional.expectation <- sum(kernelvalue*combo.frame$y)/sum(kernelvalue)

为什么我在使用函数时会得到 NaN?

【问题讨论】:

【参考方案1】:

您不能将$ 运算符与character 这样的对象一起使用。请改用[ 运算符。像这样替换函数中的前两行:

  iv <- data[,iv.name]
  dv <- data[,dv.name]

它按预期工作。

【讨论】:

如果你喜欢这个答案,你可以点击问题左侧的复选标记。

为啥这个函数返回 NaN?

】为啥这个函数返回NaN?【英文标题】:WhyisthisfunctionreturningNaN?为什么这个函数返回NaN?【发布时间】:2016-03-2110:49:06【问题描述】:起初,这似乎与许多其他关于JavaScript中的NaN的问题相似,但我向您保证不是。我有这段代码... 查看详情

如果参数是数字,为啥函数返回 NaN?

】如果参数是数字,为啥函数返回NaN?【英文标题】:WhythefunctionreturnesNaNiftheargumentsarenumbers?如果参数是数字,为什么函数返回NaN?【发布时间】:2020-11-1312:23:29【问题描述】:计算第n个加泰罗尼亚语的函数不起作用(NaN)首先... 查看详情

LogCosh 自定义损失函数返回 nan

】LogCosh自定义损失函数返回nan【英文标题】:LogCoshCustomlossfunctionreturningnan【发布时间】:2021-07-2107:14:25【问题描述】:我正在尝试将LogCosh函数实现为自定义损失函数。执行此操作时出现错误,因为拟合阶段将NaN作为损失。更奇... 查看详情

具有全局输入的函数返回 NaN

】具有全局输入的函数返回NaN【英文标题】:FunctionsWithGlobalInputsReturnNaN【发布时间】:2018-09-0903:16:18【问题描述】:编辑:我想更具体地说明我这样做的原因。下面的代码是我一直在尝试的。functionnewClass(self)this.invest;this.interest... 查看详情

为啥这个 React 函数返回 NaN?

】为啥这个React函数返回NaN?【英文标题】:WhyisthisReactfunctionreturningNaN?为什么这个React函数返回NaN?【发布时间】:2021-12-2119:07:08【问题描述】:我正在用React做一个非常简单的计算器,我对JS和Reactjs很陌生。所以,这段代码只... 查看详情

Python 函数返回 nan

】Python函数返回nan【英文标题】:Pythonfunctionreturnsnan【发布时间】:2021-05-1016:41:00【问题描述】:我已经编写了梯度下降函数并使用pandas来读取csv文件。但是当我使用pandas读取的数据时,该函数返回“nan”。我不明白为什么。提... 查看详情

softmax 函数的实现为高输入返回 nan

】softmax函数的实现为高输入返回nan【英文标题】:Implementationofsoftmaxfunctionreturnsnanforhighinputs【发布时间】:2019-07-1916:38:10【问题描述】:我正在尝试在cnn末尾实现softmax,我得到的输出是nan和zeros。我给softmax大约10-20k的高输入值... 查看详情

JavaScript数学函数不起作用并返回Nan

】JavaScript数学函数不起作用并返回Nan【英文标题】:JavaScriptmathfunctionnotworkingandreturningNan【发布时间】:2019-03-1718:57:28【问题描述】:我创建了一个不起作用的数学函数。当我从另一个函数调用该函数时,它返回NaN,而不是数字... 查看详情

JS函数返回NaN

】JS函数返回NaN【英文标题】:JSFunctionreturnNaN【发布时间】:2021-08-0612:26:12【问题描述】:我刚刚在这个网站上提出了一个问题,并收到了关于如何做我想做的事情的完美答案(9个按钮网格,9个单选类型网格,如果我点击一个... 查看详情

函数不断返回 NaN,学费计算器

】函数不断返回NaN,学费计算器【英文标题】:FunctionkeepsreturningNaN,tuitioncalculator【发布时间】:2017-11-2102:57:03【问题描述】:我似乎无法正确使用我的功能.....这是一个学费计算器。在这一点上,居住和学期并不重要。它只是信... 查看详情

c ++函数在返回时将浮点值转换为NaN

】c++函数在返回时将浮点值转换为NaN【英文标题】:c++functionturnsafloatvalueintoaNaNwhenreturns【发布时间】:2014-01-2106:24:47【问题描述】:我在使用nvidia纹理工具(nvtt)库时遇到了一个奇怪的问题,我编译该库以构建我自己的纹理转换... 查看详情

为啥 C# 中的 sin(x) 函数返回 NaN 而不是数字

】为啥C#中的sin(x)函数返回NaN而不是数字【英文标题】:Whythissin(x)functioninC#returnNaNinsteadofanumber为什么C#中的sin(x)函数返回NaN而不是数字【发布时间】:2016-04-2013:29:03【问题描述】:我用C#编写了这个函数来计算sin(x)。但是当我尝... 查看详情

matlabcorr2函数为啥返回nan值?

下面是我测试的两个小实例,为什么会返回NaN呢?>>a=[1,2,3;4,5,6]a=123456>>b=[1,2,3;4,5,6]b=123456>>corr2(a,b)ans=1>>a=ones(2,3)a=11...>,3;>,b)ans=1>>a=ones(2,3)a=111111>b=[1,2,6]b=123456>>corr2(a;4,5,为什么会返回NaN呢?>>a... 查看详情

表达式计算正确,函数返回 NaN [重复]

】表达式计算正确,函数返回NaN[重复]【英文标题】:Expressioncalculatescorrectly,functionreturnNaN[duplicate]【发布时间】:2017-08-3017:47:59【问题描述】:我已经定义了一个函数,它返回NaN(它不应该):rf<-function(x,g)x^(1-g)/(1-g)rf(-55.45,0.... 查看详情

在我的自定义函数中返回 double.NaN:这是一个好习惯吗?

】在我的自定义函数中返回double.NaN:这是一个好习惯吗?【英文标题】:Returningdouble.NaNinmycustomfunction:isitagoodpractice?【发布时间】:2019-01-1804:19:21【问题描述】:(关于返回NaN有一个类似的问题,但它没有回答这个问题)我是一... 查看详情

.diff() 函数仅在 pandas 数据框中返回 NaN 值

】.diff()函数仅在pandas数据框中返回NaN值【英文标题】:.diff()functionisonlyreturningNaNvaluesinpandasdataframe【发布时间】:2021-08-0107:50:22【问题描述】:我想在for循环中的log_price列上使用.diff()函数。我所追求的是旧的原木价格值——来... 查看详情

使用 numpy 数组评估函数返回 inf 和 nan

】使用numpy数组评估函数返回inf和nan【英文标题】:Evaluatingfunctionusingnumpyarrayreturnsinfandnan【发布时间】:2016-01-1604:02:51【问题描述】:我有以下numpy数组和函数:importnumpyimportscipy.speciali=numpy.linspace(0,500,501,dtype=int)deffunc(x,n):returnsc... 查看详情

浅谈nan和undefined--------与君共勉

...是数字。原因是NaN与所有值都不相等,包括它自己。 返回undefined的情况:1.当变量声明未赋值时;2.函数未明确返回值时(函数没有返回值时返回的都是undef 查看详情