2016-04-24 75 views
-1
y<-c(3,5,6,10,12,1) 
y[y%in%1:5]<-0 

任何人都可以解釋這一點嗎?我的輸出是0 0 6 10 12 0我的R代碼解釋

+1

您將'y'中的元素賦值爲1:5至0,即在'y'向量中有3個,5個和1個與第二個向量中的值相交。但是,如果您希望'y'中的前5個值爲0,請嘗試'y [seq_along(y)%in%1:5] < - 0'或者甚至'y [1:5] < - 0' – akrun

+0

你Aaghaz –

回答

2

y[y%in%1:5]<-0讀起來就像

  1. 以矢量y
  2. 看看它的一個子集[
  3. 子集應爲每艘%in%1,2,3,4,5
  4. 值範圍值
  5. 分配(<-0到子集
+2

我發現從內向外讀取更容易。所以'y'找到'1:5'的值。如果找到了,使用''''''''''''用'0'覆蓋'''。 –