#c-variabletypes
Explore tagged Tumblr posts
smartcherryposts · 6 years ago
Text
C-Variable Types
Tumblr media
C-Variable Types - It Is Name Given To A Memory Location That May Be Used To Store Data Values. The Variable Name Is Chosen By Programmer In A Meaningful Way. The Variable Names Should Not Be The Standard Keywords That Are Present In The Library Functions. Examples For Variable - Sum, avg, total Etc Rules That You Should Follow While Declaring The Variable -  The Variable Should Began With Letter. The Length Of The Variable Must Not Exceed 31 Characters In ANSI Standard. Upper & Lower Characters Are Different. eg:- total,TOTAL,Total. Variable Should Not Be Keyword(int, void,char) Space Is Not Allowed In Between The Letters Of The Variable. How You'll Declare Variable In The Program - Syntax - datatype v1 Variable Declaration Can Be Done In Two Types :- Local Declaration, Global Declaration. Local Variable Declaration:- If You Declare Variable Inside The Main Block Is Available With In That Block. Global Variable Declaration:- Declaring Variable Outside The Main Block & Is Available Through Out The Program.
Example:-
#include int a,b; /*global variable*/ main() { int c; /* Local Variable Declaration*/ -- -- }     Read the full article
0 notes
maphyorg · 7 years ago
Text
Alteryx & R | 在Alteryx中使用R语言
随着Predictive Tools的安装,在已知的Alteryx宇宙中出现了最通用的工具之一, R Tool。 R工具可用于运行来自Alteryx Designer的任何R代码。 R工具附带一些特定于Alteryx的R包,允许您在工作流中无缝使用R工具,甚至创建基于R的宏。 为了帮助您进行这些努力,我们开发了具有这些功能的R工具备忘单,您可以下载该备忘单。
当前内容已被隐藏,您需要登录才能查看
登录立刻注册
在���文中,我将更详细地回顾备忘单中包含的每个功能和信息。
R工具输入和输出
使用R工具最基本的组成部分是从R工具中读写数据。 直��上,这是通过read.Alteryx()和write.Alteryx()函数来完成的。 «read.Alteryx()的第一个变量是您正在读入的连接号,以字符串形式编写(引号是必需的)。» 就像连接号码在设计器画布中的显示方式一样,语法规则在连接号码之前包含一个#。
您可以使用可选模式参数将数据以两种不同模式输入。 默认情况下,数据将作为R数据帧( mode = ” data . frame ” )读入,但也可以作为列表( mode = ” list ” )读入数据,这对于引入空间对象非常有用。
read.Alteryx.First()和read.Alteryx.Next()函数允许您通过提供指定要读入的行数的参数来“分块”输入数据。将第一个数据块作为数据帧读取,看起来如下所示:
the.data <- read.Alteryx.First(“#1”, 5000, mode = “data.frame”)
你可以在read.Alteryx.Next()函数中使用循环读取剩余的数据。 您需要明确循环的逻辑和停止标准。 在R工具博客系列的”Concentra Introduction to the R Tool”的第一部分中,你可以阅读更多关于这方面以及将数据引入R工具的内容。
用write.Alteryx()函数完成从R工具中写出数据。 这个函数中的两个参数是( 1 )你想写出的对象,以及( 2 )你想把它写到五个输出锚点中的哪一个。 anchor参数是数值型的,不应该有引号。
write.Alteryx(data.out, nOutput = 1)
读写R对象
流入和流出记录非常简单,但是要读入或流出R对象(比如,您在R中开发的模型),您首先需要将对象转换为可以从Alteryx引擎传入和传出的格式。 要将模型对象转换为Alteryx可以处理的格式,首先需要创建一个空白列表,然后将该对象保存为该列表的一部分。 执行此操作的代码如下:
#首先,创建一个包含两个插槽的空白列表
the.obj <- vector(mode=”list”, length=2)
#将模型的名称,model . name,放在列表的第一个位置。
the.obj[[1]] <- c(model.name)
#将模型放在第二个插槽中
the.obj[[2]] <- list(the.model)
#为列表中的每个组件提供名称
names(the.obj) <- c(“Name”, “Object”)
  现在可以使用write.Alteryx()函数安全地写出.obj对象!
如果您想要处理已经用这个方法序列化的对象,那么您需要寻找unserializeObject()函数。 将对象作为字符类型提供给非序列化对象函数,它将返回一个可用的R对象。
Obj <- unserializeObject(as.character(model_df$Object))
写出图表
使用AlteryxGraph()函数可以从R工具中写出图表。 您可以使用graphWHR()函数提供关于绘图大小和分辨率的详细说明。
graphWHR的第一个参数是英寸,可以设置为True或False,具体取决于您希望在其中指定的图形尺寸的单位。根据您将此设置为True或False,您将使用in.w和in.h或cm.w和cm.h来提供输出图的宽度和高度作为数值。 未使用的参数应设置为NULL。 分辨率可以设置为三个选项之一,“1x”、“2x”或“3x”。 这些选项是96 PPI (每英寸像素)的倍数,1x = 96 PPI,2x = 192 PPI,3x = 288 PPI。 当设置为equal TRUE时,print.high参数有效地将分辨率提高了3倍至6倍( 576 PPI )。
以下代码将为分辨率为288 PPI的4×4绘图创建参数。
WHR <- graphWHR(inches = “True”, in.w=4, in.h=4, resolution = “3x”, print.high = FALSE)
graphWHR的输出是一个包含最终宽度、高度和分辨率的列表,可以用作AlteryxGraph函数中的参数,这类似于write.Alteryx()函数定义要写入的绘图的输出锚点以及绘图的目标尺寸。
AlteryxGraph(1, width = WHR [1], height = WHR[2], res = WHR[3], pointsize = 9)
跟随此函数的绘图代码将被写入指定的锚点。
plot(c(1,2,3,4), c(1,2,3,4))
要确保没有令人讨厌的窗口弹出,或者无关的消息进入结果窗口,请使用invisible()包裹的dev.off()。
invisible(dev.off())
消息
现在你已经掌握了将数据移入和移出R工具的基本知识,你可以通过将消息写到Alteryx的结果窗口中将整个过程变得更美观。
AlteryxProgress()是一个很棒的函数,它允许你设置updates,使工具以25 % ( 0.25 )的增量完成代码运行。
AlteryxProgress(0.25)
Alteryx message允许您将完整的注释写入Alteryx结果窗口。 这对于传递错误和警告很方便。 您可以将msg.costs(messages consists)参数设置为四种不同的设置; msg.costs$INFO,(黑色)信息;msg.costs$WARNING,(黄色)警告;msg.costs$FIELD_CONVERSION_ERROR,(橙色)或msg.costs$ERROR(红色)。 这里需要注意的是,这些设置,甚至错误,都不会阻止R代码尝试执行。 这个函数只是用来传递信息。
priority.consts (priority consists)有三个选项; priority.consts$LOW, priority.consts$MEDIUM, and priority.consts$HIGH. 只有当R工具在当前运行的工作流的画布上可见时,低优先级才会显示在结果窗口中。 如果R工具在画布上,或者在宏中,中等优先级会向结果窗口发送消息。 无论R工具与工作流的关系如何,都会显示高优先级。
在这里,我们写了一个简短的代码——信息被设置为info,优先级被设置为低。
AlteryxMessage(“Hi, how are you?” , msg.costs$INFO, priority.consts$LOW)
如果确实要停止执行脚本,请选择stop.Alteryx()函数代替。 在这里,我们写了一个特别无益的错误消息来停止代码。
stop.Alteryx(“IT’S BROKEN!” )
Alteryx使用的是哪个版本的R?
预测工具安装的R的基础版本随着不同的Alteryx版本而改变。 R版本会影响哪些软件包与您的R实例兼容,这可能会影响可用的函数或语法。 编写代码最好是在与您打算在其中使用的版本相同的环境中。
您可以使用这个巧妙的函数轻松检查R的版本:
R.Version()$version.string
或者,参考备忘单中的图表。
  界面工具和环境变量
您可以从R工具中访问三种类型的变量。 它们是Question Constants, Engine Variables, 和User Variables. 将此信息输入R的语法对于所有三种类型都是相同的: three:%VariableType.<VariableName>%其中VariableType是变量的类型(问题常量、引擎变量或用户变量),而<VariableName>是正在使用的特定变量的名称。 这个值就是那个特定变量所代表的。
要通过接口工具获取信息,您可以使用以下代码:
%Question.InterfaceToolName%
可以在工具配置窗口的注释选项卡中找到并更改接口工具的名称。
我已经配置了这个复选框工具来询问用户这个工具是否棒极了。 这是我写的代码。
if (‘%Question.ThisToolIsAwesome%’ == “False”){
stop.Alteryx(“You’re WRONG”)} else {
AlteryxMessage(“Proceed”, msg.costs$INFO, priority.consts$MEDIUM)}
元数据
您可能以前使用R工具时遇到过此错误。
传出连接1没有有效的元数据。 运行工作流以生成有效的元数据。
将元数据传入和传出R工具需要与读入或写出数据分开进行。 metainfo函数仅在AlteryxFullUpdate = TRUE时起作用,其中AlteryxFullUpdate是R的全局变量,指示工作流是正在刷新还是正在执行其他操作(如正在运行或修改)。
if else语句与全局变量AlteryxFullUpdate配合良好,可以有条件地运行元信息函数。
if(AlteryxFullUpdate){Code if True}else{Code if False}
要流入连接输入的元数据,请使用read.AlteryxMetaInfo()函数,具有相应的连接字符串值(例如, “# 1”)。
要从R工具中写出元数据,请使用write.AlteryxAddFieldMetaInfo()函数。 默认情况下,此函数只写出单个列的元数据。 此函数的���一个参数是要向其传递元数据的输出锚点的编号。 此函数有一系列可选参数,允许您向下游传递不同的元数据。 可以使用名称、字段类型、大小、比例、来源和描述的任意组合。 有关详细信息,请参见R工具帮助文档Update/MetaInfo >Optional Parameters。
write.AlteryxGraphMetaInfo()将绘图元数据从R工具流出到指定的锚点。
此功能的一个超级基本的用途可能如下所示:
if(AlteryxFullUpdate){
write.AlteryxAddFieldMetaInfo(nOutput = 1, name = “One”, fieldType = “Double”)
}else{
One <- c(1,2,3,4)
write.Alteryx(data.frame(One),1)}
根据AlteryxFullUpdate是真还是假,此代码将有条件地推出元数据或写出实际输出数据。
如果你想看更多,关于R工具的MetaInfo有一篇很棒的Interworks博客文章。
安装软件包
关于R的一个非常酷的事情是社区开发的软件包。 R包是用户创建的函数集合。 如果你需要一个特定的统计功能(或者任何类型的功能),很可能已经有一个R包可以满足你的需求。 从R工具安装软件包时,请确保指定repository选项,否则安装将失败。
install.packages(“pkg”, repos = “https://ift.tt/2wbYa6c)
另外,以下函数将有条件地安装软件包,具体取决于它们是否已经存在于R库中。 这对于构建要共享的使用了R代码的宏或工作流很有用,因为它只会在第一次使用该工具时安装软件包。
cond.install <- function(package.name){
options(repos = “https://ift.tt/2wbYa6c) #set repo
#check for package in library, if package is missing install
if(package.name%in%rownames(installed.packages())==FALSE) {
install.packages(package.name)}else{require(package.name, character.only = TRUE)}}
现在你只需要为脚本所需的任何包调用这个函数。
cond.install(“dplyr”)
为Alteryx开发R代码
在R工具中开发代码可能具有挑战性,我知道许多人更喜欢在他们选择的IDE中开发。 有一个名为jeeves的R包,可以帮助你在Alteryx之外开发Alteryx R工具的代码。 参考资料可以在Github : https://github.com/alteryx/jeeves找到
下面的代码可以帮助你安装它! 您可以从Github安装软件包二进制文件。
install.packages(“jeeves”, repos = ‘http://Alteryx.github.io/jeeves’)
或者下载软件包并从源代码中构建它。
devtools::install_github(“Alteryx/jeeves”)
我们希望你能��现这张备忘单对你未来所有的R工具冒险都很有用!
from WordPress https://maphy.org/2308.html
0 notes