第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在R中,如何在對象被發(fā)送到函數(shù)后獲得它的名稱?

在R中,如何在對象被發(fā)送到函數(shù)后獲得它的名稱?

慕工程0101907 2019-07-27 15:15:39
在R中,如何在對象被發(fā)送到函數(shù)后獲得它的名稱?我想找的是get().給定對象名稱,我希望直接從對象中提取表示該對象的字符串。平凡的例子foo作為我正在尋找的函數(shù)的占位符。z <- data.frame(x=1:10, y=1:10)test <- function(a){   mean.x <- mean(a$x)   print(foo(a))   return(mean.x)}test(z)將印刷:  "z"在我目前的問題中,我的工作更難實現(xiàn):test <- function(a="z"){   mean.x <- mean(get(a)$x)   print(a)   return(mean.x)}test("z")
查看完整描述

3 回答

?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

舊的離場-替代伎倆:


a<-data.frame(x=1:10,y=1:10)

test<-function(z){

   mean.x<-mean(z$x)

   nm <-deparse(substitute(z))

   print(nm)

   return(mean.x)}


 test(a)

#[1] "a"   ... this is the side-effect of the print() call

#          ... you could have done something useful with that character value

#[1] 5.5   ... this is the result of the function call

編輯:使用新的測試對象運行它。


注意:當(dāng)一組列表項從第一個參數(shù)傳遞到lapply(當(dāng)對象從給定的列表中傳遞給for-循環(huán)如果結(jié)構(gòu)結(jié)果是正在處理的命名向量,則可以從結(jié)構(gòu)結(jié)果中提取“.names”-屬性和處理順序。


> lapply( list(a=4,b=5), function(x) {nm <- deparse(substitute(x)); strsplit(nm, '\\[')} )

$a

$a[[1]]

[1] "X"    ""     "1L]]"



$b

$b[[1]]

[1] "X"    ""     "2L]]"


> lapply( c(a=4,b=5), function(x) {nm <- deparse(substitute(x)); strsplit(nm, '\\[')} )

$a

$a[[1]]

[1] "structure(c(4, 5), .Names = c(\"a\", \"b\"))" ""                                            

[3] "1L]]"                                        



$b

$b[[1]]

[1] "structure(c(4, 5), .Names = c(\"a\", \"b\"))" ""                                            

[3] "2L]]"  




查看完整回答
反對 回復(fù) 2019-07-29
?
蕪湖不蕪

TA貢獻1796條經(jīng)驗 獲得超7個贊

deparse(quote(var))

根據(jù)我的直覺理解,引號會凍結(jié)計算中的var或表達式,而離開函數(shù)是解析函數(shù)的逆函數(shù),這使得凍結(jié)的符號返回到字符串。


查看完整回答
反對 回復(fù) 2019-07-29
  • 3 回答
  • 0 關(guān)注
  • 500 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號