Tracemem正在做我所需要的,但它也會產生令人分心的視覺混亂。這是一個簡單的例子。現在R:在功能中使用時,從tracemem中刪除視覺混亂
a<-1
b<-2
dummyfunction<-function(x,y){return(sum(x,y))}
dummyfunction(a,b)
[1] 3
,我想要做的事比較複雜,首先tracemem看是否輸入重複的......
dummyfunction2<-function(x,y){if (tracemem(x)==tracemem(y)){return("Input vectors are identical")}
if(sum(x %in% y)>=length(x) & sum(y %in% x)>=length(y)){print("Something something.")}
return(sum(x,y))}
此我想要做什麼,如果輸入重複的...
dummyfunction2(a,a)
[1] "Input vectors are identical"
當它們沒有重複時,雖然該功能仍然有效,但它會噴出一堆混亂的信息。
dummyfunction2(a,b)
tracemem[0x0000000009824470 -> 0x000000000a7ced80]: match %in% dummyfunction2
tracemem[0x0000000009824500 -> 0x000000000a7cedb0]: match %in% dummyfunction2
tracemem[0x0000000009824500 -> 0x000000000a7cef90]: match %in% dummyfunction2
tracemem[0x0000000009824470 -> 0x000000000a7cc1a8]: match %in% dummyfunction2
[1] 3
我希望說服非R用戶嘗試在這個問題上使用函數,這樣的輸出肯定會嚇跑他們。
什麼是最有效的方法來消除這種視覺混亂而不抑制潛在的信息性警告。等等,可能會在功能的其他部分出現?