Re: [R] matrix manipulation question

2015-03-31 Thread Stéphane Adamowicz
Many thanks,

Stéphane

Le 30 mars 2015 à 10:42, peter dalgaard pda...@gmail.com a écrit :

 
 On 30 Mar 2015, at 09:59 , Stéphane Adamowicz 
 stephane.adamow...@avignon.inra.fr wrote:
 
 
 However, in order to help me understand, would you be so kind as to give me 
 a matrix or data.frame example where « complete.cases(X)== T » or « 
 complete.cases(X)== TRUE » would give some unwanted result ?
 
 The standard problem with T for TRUE is if T has been used for some other 
 purpose, like a time variable. E.g., T - 0 ; complete.cases(X)==T.
 
 complete.cases()==TRUE is just silly, like (x==0)==TRUE or 
 ((x==0)==TRUE)==TRUE). 
 
 (However, notice that x==TRUE is different from as.logical(x) if x is 
 numeric, so ifelse(x,y,z) may differ from ifelse(x==TRUE,y,z).) 
 
 -- 
 Peter Dalgaard, Professor,
 Center for Statistics, Copenhagen Business School
 Solbjerg Plads 3, 2000 Frederiksberg, Denmark
 Phone: (+45)38153501
 Email: pd@cbs.dk  Priv: pda...@gmail.com
 
 
 
 
 
 
 
 

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] matrix manipulation question

2015-03-30 Thread Berend Hasselman

 On 30-03-2015, at 09:59, Stéphane Adamowicz 
 stephane.adamow...@avignon.inra.fr wrote:
 
 
 Le 27 mars 2015 à 18:01, David Winsemius dwinsem...@comcast.net a écrit :
 
 
 On Mar 27, 2015, at 3:41 AM, Stéphane Adamowicz wrote:
 
 Well, it seems to work with me.
 
 
 No one is doubting that it worked for you in this instance. What Peter D. 
 was criticizing was the construction :
 
 complete.cases(t(Y))==T
 
 ... and it was on two bases that it is wrong. The first is that `T` is not 
 guaranteed to be TRUE. The second is that the test ==T (or similarly ==TRUE) 
 is completely unnecessary because `complete.cases` returns a logical vector 
 and so that expression is a waste of time.
 
 
 Indeed, You are right, the following code was enough :
 «  Z - Y[, complete.cases(t(Y) ] »
 
 
 However, in order to help me understand, would you be so kind as to give me a 
 matrix or data.frame example where « complete.cases(X)== T » or « 
 complete.cases(X)== TRUE » would give some unwanted result ?

T can be redefined.
Try this in your example with airquality:

T - hello
Z - Y[,complete.cases(t(Y))==T]
Z

TRUE is a reserved word and cannot be changed. But why use ==TRUE if not 
necessary?
All of this mentioned already by David Winsemius in a previous reply.

Berend

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: [R] matrix manipulation question

2015-03-30 Thread peter dalgaard

 On 30 Mar 2015, at 09:59 , Stéphane Adamowicz 
 stephane.adamow...@avignon.inra.fr wrote:
 
 
 However, in order to help me understand, would you be so kind as to give me a 
 matrix or data.frame example where « complete.cases(X)== T » or « 
 complete.cases(X)== TRUE » would give some unwanted result ?

The standard problem with T for TRUE is if T has been used for some other 
purpose, like a time variable. E.g., T - 0 ; complete.cases(X)==T.

complete.cases()==TRUE is just silly, like (x==0)==TRUE or 
((x==0)==TRUE)==TRUE). 

(However, notice that x==TRUE is different from as.logical(x) if x is numeric, 
so ifelse(x,y,z) may differ from ifelse(x==TRUE,y,z).) 

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd@cbs.dk  Priv: pda...@gmail.com

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: [R] matrix manipulation question

2015-03-30 Thread Stéphane Adamowicz

Le 27 mars 2015 � 18:01, David Winsemius dwinsem...@comcast.net a �crit :

 
 On Mar 27, 2015, at 3:41 AM, St�phane Adamowicz wrote:
 
 Well, it seems to work with me.
 
 
 No one is doubting that it worked for you in this instance. What Peter D. was 
 criticizing was the construction :
 
 complete.cases(t(Y))==T
 
 ... and it was on two bases that it is wrong. The first is that `T` is not 
 guaranteed to be TRUE. The second is that the test ==T (or similarly ==TRUE) 
 is completely unnecessary because `complete.cases` returns a logical vector 
 and so that expression is a waste of time.
 

Indeed, You are right, the following code was enough :
�  Z - Y[, complete.cases(t(Y) ] �


However, in order to help me understand, would you be so kind as to give me a 
matrix or data.frame example where � complete.cases(X)== T � or � 
complete.cases(X)== TRUE � would give some unwanted result ?

St�phane


[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: [R] matrix manipulation question

2015-03-27 Thread peter dalgaard

On 27 Mar 2015, at 09:58 , Stéphane Adamowicz 
stephane.adamow...@avignon.inra.fr wrote:

 data_no_NA - data[, complete.cases(t(data))==T]

Ouch! logical == TRUE is bad, logical == T is worse:

data[, complete.cases(t(data))]


-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd@cbs.dk  Priv: pda...@gmail.com

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] matrix manipulation question

2015-03-27 Thread PIKAL Petr
Very, very, very bad solution.

as.matrix can change silently your data to unwanted format, complete.cases()==T 
is silly as Peter already pointed out.

I use

head(airquality[ ,colSums(is.na(airquality))==0])
  Wind Temp Month Day
1  7.4   67 5   1
2  8.0   72 5   2
3 12.6   74 5   3
4 11.5   62 5   4
5 14.3   56 5   5
6 14.9   66 5   6

if I want to get rid of columns with NA.

Cheers
Petr


From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Stéphane 
Adamowicz
Sent: Friday, March 27, 2015 11:42 AM
To: peter dalgaard
Cc: r-help@r-project.org
Subject: Re: [R] matrix manipulation question

Well, it seems to work with me.

Y - as.matrix(airquality)
head(Y, n=8)
 Ozone Solar.R Wind Temp Month Day
[1,]41 190  7.4   67 5   1
[2,]36 118  8.0   72 5   2
[3,]12 149 12.6   74 5   3
[4,]18 313 11.5   62 5   4
[5,]NA  NA 14.3   56 5   5
[6,]28  NA 14.9   66 5   6
[7,]23 299  8.6   65 5   7
[8,]19  99 13.8   59 5   8

Z - Y[,complete.cases(t(Y))==T]

head(Z, n=8)
 Wind Temp Month Day
[1,]  7.4   67 5   1
[2,]  8.0   72 5   2
[3,] 12.6   74 5   3
[4,] 11.5   62 5   4
[5,] 14.3   56 5   5
[6,] 14.9   66 5   6
[7,]  8.6   65 5   7
[8,] 13.8   59 5   8

The columns that contained NA were deleted.


Le 27 mars 2015 � 10:38, peter dalgaard 
pda...@gmail.commailto:pda...@gmail.com a �crit :


 On 27 Mar 2015, at 09:58 , St�phane Adamowicz 
 stephane.adamow...@avignon.inra.frmailto:stephane.adamow...@avignon.inra.fr
  wrote:

 data_no_NA - data[, complete.cases(t(data))==T]

 Ouch! logical == TRUE is bad, logical == T is worse:

 data[, complete.cases(t(data))]


 --
 Peter Dalgaard, Professor,
 Center for Statistics, Copenhagen Business School
 Solbjerg Plads 3, 2000 Frederiksberg, Denmark
 Phone: (+45)38153501
 Office: A 4.23
 Email: pd@cbs.dkmailto:pd@cbs.dk  Priv: 
 pda...@gmail.commailto:pda...@gmail.com












_
St�phane Adamowicz
Inra, centre de recherche Paca, unit� PSH
228, route de l'a�rodrome
CS 40509
domaine St Paul, site Agroparc
84914 Avignon, cedex 9
France

stephane.adamow...@avignon.inra.frmailto:stephane.adamow...@avignon.inra.fr
tel.  +33 (0)4 32 72 24 35
fax. +33 (0)4 32 72 24 32
do not dial 0 when out of France
web PSH  : https://www6.paca.inra.fr/psh
web Inra : http://www.inra.fr/
_


[[alternative HTML version deleted]]
__
R-help@r-project.orgmailto:R-help@r-project.org mailing list -- To 
UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou určeny 
pouze jeho adresátům.
Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně 
jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze 
svého systému.
Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email 
jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či 
zpožděním přenosu e-mailu.

V případě, že je tento e-mail součástí obchodního jednání:
- vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, a 
to z jakéhokoliv důvodu i bez uvedení důvodu.
- a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; 
Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany příjemce 
s dodatkem či odchylkou.
- trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným 
dosažením shody na všech jejích náležitostech.
- odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost 
žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně 
pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu případně 
osobě, kterou adresát zastupuje, předloženy nebo jejich existence je adresátovi 
či osobě jím zastoupené známá.

This e-mail and any documents attached to it may be confidential and are 
intended only for its intended recipients.
If you received this e-mail by mistake, please immediately inform its sender. 
Delete the contents of this e-mail with all attachments and its copies from 
your system.
If you are not the intended recipient of this e-mail, you are not authorized to 
use, disseminate, copy or disclose this e-mail in any manner.
The sender of this e-mail shall not be liable for any possible damage caused by 
modifications of the e-mail or by delay with transfer of the email.

In case that this e-mail forms part of business dealings:
- the sender reserves the right to end negotiations about entering into a 
contract in any time, for any reason, and without

Re: [R] matrix manipulation question

2015-03-27 Thread Stéphane Adamowicz
Well, it seems to work with me.

Y - as.matrix(airquality)
head(Y, n=8)
 Ozone Solar.R Wind Temp Month Day
[1,]41 190  7.4   67 5   1
[2,]36 118  8.0   72 5   2
[3,]12 149 12.6   74 5   3
[4,]18 313 11.5   62 5   4
[5,]NA  NA 14.3   56 5   5
[6,]28  NA 14.9   66 5   6
[7,]23 299  8.6   65 5   7
[8,]19  99 13.8   59 5   8

Z - Y[,complete.cases(t(Y))==T]

head(Z, n=8)
 Wind Temp Month Day
[1,]  7.4   67 5   1
[2,]  8.0   72 5   2
[3,] 12.6   74 5   3
[4,] 11.5   62 5   4
[5,] 14.3   56 5   5
[6,] 14.9   66 5   6
[7,]  8.6   65 5   7
[8,] 13.8   59 5   8

The columns that contained NA were deleted.


Le 27 mars 2015 � 10:38, peter dalgaard pda...@gmail.com a �crit :

 
 On 27 Mar 2015, at 09:58 , St�phane Adamowicz 
 stephane.adamow...@avignon.inra.fr wrote:
 
 data_no_NA - data[, complete.cases(t(data))==T]
 
 Ouch! logical == TRUE is bad, logical == T is worse:
 
 data[, complete.cases(t(data))]
 
 
 -- 
 Peter Dalgaard, Professor,
 Center for Statistics, Copenhagen Business School
 Solbjerg Plads 3, 2000 Frederiksberg, Denmark
 Phone: (+45)38153501
 Office: A 4.23
 Email: pd@cbs.dk  Priv: pda...@gmail.com
 
 
 
 
 
 
 
 
 



_
St�phane Adamowicz
Inra, centre de recherche Paca, unit� PSH
228, route de l'a�rodrome
CS 40509
domaine St Paul, site Agroparc
84914 Avignon, cedex 9
France

stephane.adamow...@avignon.inra.fr
tel.  +33 (0)4 32 72 24 35
fax. +33 (0)4 32 72 24 32
do not dial 0 when out of France
web PSH  : https://www6.paca.inra.fr/psh
web Inra : http://www.inra.fr/
_


[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: [R] matrix manipulation question

2015-03-27 Thread Stéphane Adamowicz
Why not use complete.cases() ?

data_no_NA - data[, complete.cases(t(data))==T]


Le 27 mars 2015 à 06:13, Jatin Kala jatin.kala...@gmail.com a écrit :

 Hi,
 I've got a rather large matrix of about 800 rows and 60 columns.
 Each column is a time-series 800 long.
 
 Out of these 60 time series, some have missing values (NA).
 I want to strip out all columns that have one or more NA values, i.e., only 
 want full time series.
 
 This should do the trick:
 data_no_NA - data[,!apply(is.na(data), 2, any)]
 
 I now use data_no_NA as input to a function, which returns output as a matrix 
 of the same size as data_no_NA
 
 The trick is that i now need to put these columns back into a new 800 by 
 60 empty matrix, at their original locations.
 Any suggestions on how to do that? hopefully without having to use loops.
 I'm using R/3.0.3
 
 Cheers,
 Jatin.
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] matrix manipulation question

2015-03-27 Thread Stéphane Adamowicz

Le 27 mars 2015 à 12:34, PIKAL Petr petr.pi...@precheza.cz a écrit :

 Very, very, very bad solution.
  
 as.matrix can change silently your data to unwanted format, 
 complete.cases()==T is silly as Peter already pointed out.
  
 

Perhaps, but it happens that in the original message, the question dealt with a 
matrix not a dataframe, and thus I needed a matrix example. Furthermore in my 
example no unwanted format occurred. You can check easily that the final matrix 
contains only « numeric » data as in the original data frame.

Stéphane
  
  
  
  
  
 
 
 
 _
 St�phane Adamowicz
 Inra, centre de recherche Paca, unit� PSH
 228, route de l'a�rodrome
 CS 40509
 domaine St Paul, site Agroparc
 84914 Avignon, cedex 9
 France
 
 stephane.adamow...@avignon.inra.fr
 tel.  +33 (0)4 32 72 24 35
 fax. +33 (0)4 32 72 24 32
 do not dial 0 when out of France
 web PSH  : https://www6.paca.inra.fr/psh
 web Inra : http://www.inra.fr/
 _
 
 
 [[alternative HTML version deleted]]
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.
 
 Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou 
 určeny pouze jeho adresátům.
 Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně 
 jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze 
 svého systému.
 Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email 
 jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
 Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či 
 zpožděním přenosu e-mailu.
 
 V případě, že je tento e-mail součástí obchodního jednání:
 - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, 
 a to z jakéhokoliv důvodu i bez uvedení důvodu.
 - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; 
 Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany 
 příjemce s dodatkem či odchylkou.
 - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným 
 dosažením shody na všech jejích náležitostech.
 - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost 
 žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně 
 pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu 
 případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je 
 adresátovi či osobě jím zastoupené známá.
 
 This e-mail and any documents attached to it may be confidential and are 
 intended only for its intended recipients.
 If you received this e-mail by mistake, please immediately inform its sender. 
 Delete the contents of this e-mail with all attachments and its copies from 
 your system.
 If you are not the intended recipient of this e-mail, you are not authorized 
 to use, disseminate, copy or disclose this e-mail in any manner.
 The sender of this e-mail shall not be liable for any possible damage caused 
 by modifications of the e-mail or by delay with transfer of the email.
 
 In case that this e-mail forms part of business dealings:
 - the sender reserves the right to end negotiations about entering into a 
 contract in any time, for any reason, and without stating any reasoning.
 - if the e-mail contains an offer, the recipient is entitled to immediately 
 accept such offer; The sender of this e-mail (offer) excludes any acceptance 
 of the offer on the part of the recipient containing any amendment or 
 variation.
 - the sender insists on that the respective contract is concluded only upon 
 an express mutual agreement on all its aspects.
 - the sender of this e-mail informs that he/she is not authorized to enter 
 into any contracts on behalf of the company except for cases in which he/she 
 is expressly authorized to do so in writing, and such authorization or power 
 of attorney is submitted to the recipient or the person represented by the 
 recipient, or the existence of such authorization is known to the recipient 
 of the person represented by the recipient.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: [R] matrix manipulation question

2015-03-27 Thread PIKAL Petr
Hi

 -Original Message-
 From: Stéphane Adamowicz [mailto:stephane.adamow...@avignon.inra.fr]
 Sent: Friday, March 27, 2015 1:26 PM
 To: PIKAL Petr
 Cc: peter dalgaard; r-help@r-project.org
 Subject: Re: [R] matrix manipulation question


 Le 27 mars 2015 à 12:34, PIKAL Petr petr.pi...@precheza.cz a écrit :

  Very, very, very bad solution.
 
  as.matrix can change silently your data to unwanted format,
 complete.cases()==T is silly as Peter already pointed out.
 
 

 Perhaps, but it happens that in the original message, the question

I do not have original message.

 dealt with a matrix not a dataframe, and thus I needed a matrix

But you made matrix from data frame. If one column was not numeric all 
resulting matrix would chnge to nonnumeric format.

 example. Furthermore in my example no unwanted format occurred. You can

Yes because data.frame was (luckily) numeric.

 check easily that the final matrix contains only « numeric » data as in
 the original data frame.

You want matrix? Here it is.

 head(as.matrix(airquality)[ ,colSums(is.na(airquality))==0])
 Wind Temp Month Day
[1,]  7.4   67 5   1
[2,]  8.0   72 5   2
[3,] 12.6   74 5   3
[4,] 11.5   62 5   4
[5,] 14.3   56 5   5
[6,] 14.9   66 5   6

Works same with matrix as with data frame without need to transform it.

Cheers
Petr


 Stéphane
  
  
  
  
  
 
 
 
  _
  St phane Adamowicz
  Inra, centre de recherche Paca, unit  PSH 228, route de l'a rodrome
 CS
  40509 domaine St Paul, site Agroparc
  84914 Avignon, cedex 9
  France
 
  stephane.adamow...@avignon.inra.fr
  tel.  +33 (0)4 32 72 24 35
  fax. +33 (0)4 32 72 24 32
  do not dial 0 when out of France
  web PSH  : https://www6.paca.inra.fr/psh web Inra :
  http://www.inra.fr/ _
 
 
  [[alternative HTML version deleted]]
 
  __
  R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
  https://stat.ethz.ch/mailman/listinfo/r-help
  PLEASE do read the posting guide
  http://www.R-project.org/posting-guide.html
  and provide commented, minimal, self-contained, reproducible code.
 
  Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a
 jsou určeny pouze jeho adresátům.
  Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě
 neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho
 kopie vymažte ze svého systému.
  Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento
 email jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
  Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou
 modifikacemi či zpožděním přenosu e-mailu.
 
  V případě, že je tento e-mail součástí obchodního jednání:
  - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření
 smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu.
  - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně
 přijmout; Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky
 ze strany příjemce s dodatkem či odchylkou.
  - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve
 výslovným dosažením shody na všech jejích náležitostech.
  - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za
 společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně
 zmocněn nebo písemně pověřen a takové pověření nebo plná moc byly
 adresátovi tohoto emailu případně osobě, kterou adresát zastupuje,
 předloženy nebo jejich existence je adresátovi či osobě jím zastoupené
 známá.
 
  This e-mail and any documents attached to it may be confidential and
 are intended only for its intended recipients.
  If you received this e-mail by mistake, please immediately inform its
 sender. Delete the contents of this e-mail with all attachments and its
 copies from your system.
  If you are not the intended recipient of this e-mail, you are not
 authorized to use, disseminate, copy or disclose this e-mail in any
 manner.
  The sender of this e-mail shall not be liable for any possible damage
 caused by modifications of the e-mail or by delay with transfer of the
 email.
 
  In case that this e-mail forms part of business dealings:
  - the sender reserves the right to end negotiations about entering
 into a contract in any time, for any reason, and without stating any
 reasoning.
  - if the e-mail contains an offer, the recipient is entitled to
 immediately accept such offer; The sender of this e-mail (offer)
 excludes any acceptance of the offer on the part of the recipient
 containing any amendment or variation.
  - the sender insists on that the respective contract is concluded
 only upon an express mutual agreement on all its aspects.
  - the sender of this e-mail informs that he/she is not authorized to
 enter into any contracts on behalf of the company except for cases in
 which he/she is expressly authorized to do so in writing, and such
 authorization or power of attorney is submitted

Re: [R] matrix manipulation question

2015-03-27 Thread Stéphane Adamowicz

 
 example. Furthermore in my example no unwanted format occurred. You can
 
 Yes because data.frame was (luckily) numeric.
 

Luck has nothing to do with this. I Chose this example on purpose …

Stéphane

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] matrix manipulation question

2015-03-27 Thread David Winsemius

On Mar 27, 2015, at 3:41 AM, Stéphane Adamowicz wrote:

 Well, it seems to work with me.
 

No one is doubting that it worked for you in this instance. What Peter D. was 
criticizing was the construction :

complete.cases(t(Y))==T

... and it was on two bases that it is wrong. The first is that `T` is not 
guaranteed to be TRUE. The second is that the test ==T (or similarly ==TRUE) is 
completely unnecessary because `complete.cases` returns a logical vector and so 
that expression is a waste of time.

(The issue of matrix versus dataframe was raised by someone else.)

-- 
David.


 Y - as.matrix(airquality)
 head(Y, n=8)
 Ozone Solar.R Wind Temp Month Day
 [1,]41 190  7.4   67 5   1
 [2,]36 118  8.0   72 5   2
 [3,]12 149 12.6   74 5   3
 [4,]18 313 11.5   62 5   4
 [5,]NA  NA 14.3   56 5   5
 [6,]28  NA 14.9   66 5   6
 [7,]23 299  8.6   65 5   7
 [8,]19  99 13.8   59 5   8
 
 Z - Y[,complete.cases(t(Y))==T]
 
 head(Z, n=8)
 Wind Temp Month Day
 [1,]  7.4   67 5   1
 [2,]  8.0   72 5   2
 [3,] 12.6   74 5   3
 [4,] 11.5   62 5   4
 [5,] 14.3   56 5   5
 [6,] 14.9   66 5   6
 [7,]  8.6   65 5   7
 [8,] 13.8   59 5   8
 
 The columns that contained NA were deleted.
 
 
 Le 27 mars 2015 à 10:38, peter dalgaard pda...@gmail.com a écrit :
 
 
 On 27 Mar 2015, at 09:58 , Stéphane Adamowicz 
 stephane.adamow...@avignon.inra.fr wrote:
 
 data_no_NA - data[, complete.cases(t(data))==T]
 
 Ouch! logical == TRUE is bad, logical == T is worse:
 
 data[, complete.cases(t(data))]
 
 
 -- 
 Peter Dalgaard, Professor,
 Center for Statistics, Copenhagen Business School
 Solbjerg Plads 3, 2000 Frederiksberg, Denmark
 Phone: (+45)38153501
 Office: A 4.23
 Email: pd@cbs.dk  Priv: pda...@gmail.com
 
 
 
 
 
 
 
 
 
 
 
 
 _
 Stéphane Adamowicz
 Inra, centre de recherche Paca, unité PSH
 228, route de l'aérodrome
 CS 40509
 domaine St Paul, site Agroparc
 84914 Avignon, cedex 9
 France
 
 stephane.adamow...@avignon.inra.fr
 tel.  +33 (0)4 32 72 24 35
 fax. +33 (0)4 32 72 24 32
 do not dial 0 when out of France
 web PSH  : https://www6.paca.inra.fr/psh
 web Inra : http://www.inra.fr/
 _
 
 
   [[alternative HTML version deleted]]
 
 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.

David Winsemius
Alameda, CA, USA

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] matrix manipulation question

2015-03-27 Thread Henric Winell

On 2015-03-27 11:41, Stéphane Adamowicz wrote:


Well, it seems to work with me.

Y - as.matrix(airquality)
head(Y, n=8)
  Ozone Solar.R Wind Temp Month Day
[1,]41 190  7.4   67 5   1
[2,]36 118  8.0   72 5   2
[3,]12 149 12.6   74 5   3
[4,]18 313 11.5   62 5   4
[5,]NA  NA 14.3   56 5   5
[6,]28  NA 14.9   66 5   6
[7,]23 299  8.6   65 5   7
[8,]19  99 13.8   59 5   8

Z - Y[,complete.cases(t(Y))==T]


Peter's point, I guess, is that

1. complete.cases(t(Y)) is already a vector of logicals
2. T (and F) can be redefined, so what if T - FALSE?


Henric Winell





head(Z, n=8)
  Wind Temp Month Day
[1,]  7.4   67 5   1
[2,]  8.0   72 5   2
[3,] 12.6   74 5   3
[4,] 11.5   62 5   4
[5,] 14.3   56 5   5
[6,] 14.9   66 5   6
[7,]  8.6   65 5   7
[8,] 13.8   59 5   8

The columns that contained NA were deleted.


Le 27 mars 2015 � 10:38, peter dalgaard pda...@gmail.com a �crit :



On 27 Mar 2015, at 09:58 , St�phane Adamowicz 
stephane.adamow...@avignon.inra.fr wrote:


data_no_NA - data[, complete.cases(t(data))==T]


Ouch! logical == TRUE is bad, logical == T is worse:

data[, complete.cases(t(data))]


--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd@cbs.dk  Priv: pda...@gmail.com













_
St�phane Adamowicz
Inra, centre de recherche Paca, unit� PSH
228, route de l'a�rodrome
CS 40509
domaine St Paul, site Agroparc
84914 Avignon, cedex 9
France

stephane.adamow...@avignon.inra.fr
tel.  +33 (0)4 32 72 24 35
fax. +33 (0)4 32 72 24 32
do not dial 0 when out of France
web PSH  : https://www6.paca.inra.fr/psh
web Inra : http://www.inra.fr/
_


[[alternative HTML version deleted]]



__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: [R] matrix manipulation question

2015-03-27 Thread Jatin Kala

Thanks Richard,
This works, rather obvious now that i think of it!
=)

On 27/03/2015 4:30 pm, Richard M. Heiberger wrote:

just reverse what you did before.

newdata - data
newdata[] - NA
newdata[,!apply(is.na(data), 2, any)] - myfunction(data_no_NA)

On Fri, Mar 27, 2015 at 1:13 AM, Jatin Kala jatin.kala...@gmail.com wrote:

Hi,
I've got a rather large matrix of about 800 rows and 60 columns.
Each column is a time-series 800 long.

Out of these 60 time series, some have missing values (NA).
I want to strip out all columns that have one or more NA values, i.e., only
want full time series.

This should do the trick:
data_no_NA - data[,!apply(is.na(data), 2, any)]

I now use data_no_NA as input to a function, which returns output as a
matrix of the same size as data_no_NA

The trick is that i now need to put these columns back into a new 800 by
60 empty matrix, at their original locations.
Any suggestions on how to do that? hopefully without having to use loops.
I'm using R/3.0.3

Cheers,
Jatin.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


[R] matrix manipulation question

2015-03-26 Thread Jatin Kala

Hi,
I've got a rather large matrix of about 800 rows and 60 columns.
Each column is a time-series 800 long.

Out of these 60 time series, some have missing values (NA).
I want to strip out all columns that have one or more NA values, i.e., 
only want full time series.


This should do the trick:
data_no_NA - data[,!apply(is.na(data), 2, any)]

I now use data_no_NA as input to a function, which returns output as a 
matrix of the same size as data_no_NA


The trick is that i now need to put these columns back into a new 800 by 
60 empty matrix, at their original locations.

Any suggestions on how to do that? hopefully without having to use loops.
I'm using R/3.0.3

Cheers,
Jatin.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] matrix manipulation question

2015-03-26 Thread Richard M. Heiberger
just reverse what you did before.

newdata - data
newdata[] - NA
newdata[,!apply(is.na(data), 2, any)] - myfunction(data_no_NA)

On Fri, Mar 27, 2015 at 1:13 AM, Jatin Kala jatin.kala...@gmail.com wrote:
 Hi,
 I've got a rather large matrix of about 800 rows and 60 columns.
 Each column is a time-series 800 long.

 Out of these 60 time series, some have missing values (NA).
 I want to strip out all columns that have one or more NA values, i.e., only
 want full time series.

 This should do the trick:
 data_no_NA - data[,!apply(is.na(data), 2, any)]

 I now use data_no_NA as input to a function, which returns output as a
 matrix of the same size as data_no_NA

 The trick is that i now need to put these columns back into a new 800 by
 60 empty matrix, at their original locations.
 Any suggestions on how to do that? hopefully without having to use loops.
 I'm using R/3.0.3

 Cheers,
 Jatin.

 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.