小编Cha*_* S.的帖子

将变量名称传递给绘图函数标题

我想知道是否有人可以帮我在函数中使用变量名.我已经整理了一个点图,它对变量进行排序然后生成一个位图,但是我无法R将变量名称传递给plot标题.

示例数据

id<-c(1,2,3)
blood<-c(1,2,10)
weight<-c(1,2,13)


mydata<-as.data.frame(cbind(id,blood,weight))
mydata$blood

#######SORTED DOT PLOT####


Dplotter<-function (id,x,Title=""){
if (is.null(Title)) {Title=""} else {Title=Title} 

DIR<-paste("C:/temp/WholePlots/New/",Title,".bmp",sep="")

D<-as.data.frame(cbind(id,x))
x1<-as.data.frame(D[order(x),])

bmp(DIR)
dotchart(x1$x,labels=id,main=Title,pch=16)
dev.off()
}


###############
Dplotter(mydata$id,mydata$blood,"Blood")

Dplotter(mydata$id,mydata$weight,"Weight")
Run Code Online (Sandbox Code Playgroud)
  1. 在函数的第二行,我想传递变量名称,例如

    `if (is.null(Title)) {Title=varname(x)} else {Title=Title}`
    
    Run Code Online (Sandbox Code Playgroud)

    这样我就不必在函数Title字段中输入"Blood"(例如Dplotter(mydata $ id,mydata $ blood)

    基本上,如何在函数中粘贴变量名?如果可以从标题中取出数据集名称(没有附加数据集,我被告知这是不好的做法)会更好,这样mydata$blood你就可以获得标题中的"鲜血".

    我没能找到一个简单的解决方案来粘贴函数中的变量名.您可以猜测,将变量名称放在 paste()函数中会返回变量的值(以便绘图标题用值而不是变量名称填充).

  2. 我还希望进一步自动化该功能,这样我就可以放置数据集和ID,然后为数据集中的每个变量重复该功能.显然,这需要首先解决问题1,否则标题和文件名都会遇到问题.

r function variable-names

9
推荐指数
1
解决办法
1万
查看次数

如何告诉对象执行消息

我有一个对象,以及一个包含我想发送给它的消息的字符串.

例如,字符串'+ 5',我想发送给某个整数对象.

如果它在工作区中,那么我只会写"obj + 5",但我需要在运行时完成,而不事先知道字符串...

message smalltalk squeak

4
推荐指数
1
解决办法
1043
查看次数

将float Series中的所有元素转换为整数

我在数据框中有一个具有浮点值的列(所以我将此列称为Float系列).我想将所有值转换为整数或只是将其四舍五入,以便没有小数.

我们说数据帧是df,列是a,我试过这个:

df['a'] = round(df['a']) 
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说这个方法不能应用于系列,只适用于单个值.

接下来我尝试了这个:

for obj in df['a']: 
   obj =int(round(obj))
Run Code Online (Sandbox Code Playgroud)

在此之后我打印了df,但没有变化.我哪里错了?

python casting series pandas

3
推荐指数
1
解决办法
1万
查看次数

有没有办法在单行 for 循环中增加变量?

鉴于以下定义

layerData = [3, 3, 2, 1, 1]

bias = [0.47, -0.45, 0.31, -0.09, 0.21 ,-0.18, 0.14, -0.45, -0.39, -0.14]

Run Code Online (Sandbox Code Playgroud)

bias列表的头部开始,对于我中的每个元素NlayerData我想从中取出下一个N元素bias并将该列表附加到结果中

这是它应该输出的内容:

[[0.47, -0.45, 0.31], [-0.09, 0.21, -0.18], [0.14, -0.45], [-0.39], [-0.14]]
Run Code Online (Sandbox Code Playgroud)

python for-loop

2
推荐指数
1
解决办法
69
查看次数