You can use system() or pipe() and friends. This is covered in Section
5.1 of `Writing R Extensions'.
Perhaps the simplest way is to something like
tmp - tempfile()
zz - file(tmp, w)
# write the input script to zz, e.g. via cat
close(zz)
res - system(paste(myprog , tmp), intern = TRUE)
and
After replies off the list which indicate the code should work. I tried a
variety of approaches.
Rebooting, Using the --vanilla option and then removing the whole lot and
resinstalling. It now works.
I guess it's another of those windows things?
Thanks to those that helped.
-Original
Hello,
ihmo you could buy quantian and find several third-party resellers
on dirk's page stated below.
http://dirk.eddelbuettel.com/quantian.html
regards, christian
Hi all,
This may seem like a dumb question, but I work for an entity that is soon
converting to XP across the board, and I
On Fri, 19 May 2006, Mulholland, Tom wrote:
After replies off the list which indicate the code should work. I tried a
variety of approaches.
Rebooting, Using the --vanilla option and then removing the whole lot and
resinstalling. It now works.
I guess it's another of those windows
Hi
Maybe change your R version?
Works for me R 2.3.0pat, W 2000
x1 - 1159 1129 1124 -5 -0.44 -1.52
x2 - c(1159,1129,1124,-5,-0.44,-1.52)
x3 - unlist(strsplit(x1, ))
str(x2)
chr [1:6] 1159 1129 1124 -5 -0.44 -1.52
str(x3)
chr [1:6] 1159 1129 1124 -5 -0.44 -1.52
as.numeric(x2)
[1] 1159.00
Surely the entity is saying you will only be able to use software for which
you have a valid licence. They are (rightly) worried about employees
installing pirate copies of software which, if audited, could lead to huge
fines.
While there is plenty of software for which one has to pay for such
I think you are correct (as expected) I don't know where in the original data
the string is, but there is other data doing the same thing.
+ strsplit(test, )[[1]]
[1] 5159 3336 3657 559 3042 55307 -816104
as.numeric(strsplit(test, )[[1]])
[1] 5159 3336 3657 559 304255
Hi,
I found a discrepancy between results in R and Stata for a factor analysis
with a promax rotation. For Stata:
. *rotate, factor(2) promax*
(promax rotation)
Rotated Factor Loadings
Variable | 1 2Uniqueness
Your minus eight is a hyphen eight, and those will print the same in a
monospaced font. As to how you get a hyphen into a string, it depends how
you do it but I presume this was not entered at an R console.
On Fri, 19 May 2006, Mulholland, Tom wrote:
I think you are correct (as expected) I
On Thursday 18 May 2006 14:51, Damien Joly wrote:
Hi all,
This may seem like a dumb question, but I work for an entity that is soon
converting to XP across the board, and I will lose the ability to install
software on my own. The entity has a policy of only using software that
has been
Eric Hu wrote:
Hi, I am beginning to learn R and have a data table that I would like to
produce a microarray-like plot. The table looks like this:
3 0 0 3 -377.61 1.94
3 0 0 3 -444.80 2.36
2 1 0 3 -519.60 2.39
1 1 1 3 -54.88 2.49
2 1 1 4 -536.55 2.53
1 0 1 2 108.29 2.62
2 0 0 2 39.56
I don't believe promax is uniquely defined. Not only are there
differences in the criterion (R allows a choice), it is an optimization
problem with multiple local optima.
In fact the same is true of factanal, and the first thing to check would
be to see if the same FA solution has been found.
Lusk, Jeffrey J jjlusk at purdue.edu writes:
using this approach, but the output for the fixed effects doesn't report
a p-value or the degrees of freedom (unlike the examples listed in
Faraway's book, which I tried and got the same incomplete output). Any
idea how I can get the complete
Poizot Emmanuel wrote:
Dear all,
I found a wonderful package (vcd) able to plot ternary diagrams, i.e.
ternaryplot (thanks D. Meyer).
The problem is that one of three variable has negative values.
If I use the ternaryplot function but some points are outside the
triangle, as value en
Beutel, Terry S wrote:
I am trying to generate two dimensional random coordinates.
For randomly distributed data I have simply used
xy-cbind(runif(100),runif(100))
However I also want to generate coordinates that are more uniformly
distributed, and coordinates that are more
Dear Sir,
Iam a frensh student and iam a new user of the R software.
After using the command (x-read.delim(clipboard) to read a spreadsheet of
Excel, I want to run the bds test and calculate the Lyapunov exponent. I have
charged the R software by the packages tseries and tseriesChaos. when
Hi,
is there some elegant way to determine the number of components stored in
each list element?
Example:
The list:
-
list
$Elem1
[1] A B C
$Elem1
[1] D
$Elem1
[1] E F
Then normal command length(list) would return 3. But I would like some
command return the array of the single
karim99.karim wrote:
Dear Sir,
I’am a frensh student and i’am a new user of the R software.
After using the command (x-read.delim(“clipboard”) to read a spreadsheet of
Excel, I want to run the bds test and calculate the Lyapunov exponent. I have
charged the R software by the packages
On Thu, May 18, 2006 at 11:50:24PM -0400, Dan Rabosky wrote:
Hello...
I would like to use R for 'pipelining' data among several programs. I'm
wondering how I can use R to call another program, feed that program a set
of parameters, and retrieve the output.
E.g., I have an executable
x is a data frame, since that is what read.table reads.
bds.test is expecting (from the help file)
x: a numeric vector or time series.
so you probably want to pass x[[1]].
On Thu, 18 May 2006, karim99.karim wrote:
Dear Sir,
Iam a frensh student and iam a new user of the R
You need lapply or sapply
for example:
sapply(yourlist, length)
then you can do
subset(yourlist, sapply(yourlist, length) yourlength)
Stefano
-Messaggio originale-
Da: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] conto di Benjamin Otto
Inviato: 19 May, 2006 12:10
A:
On 5/18/2006 11:47 PM, Mulholland, Tom wrote:
I assume that I have missed something fundamental and that it is there in
front of me in An Introduction to R, but I need someone to point me in the
right direction.
x1 - 1159 1129 1124 -5 -0.44 -1.52
x2 - c(1159,1129,1124,-5,-0.44,-1.52)
x3
I came across this one:
http://www.nysun.com/article/32787
which says that the violent death rate in Iraq (which presumably
includes violent deaths from the war) is lower than the violent
death rate in major American cities.
Does anyone have any insights from statistics on how to
interpret
Gabor Grothendieck wrote:
I came across this one:
http://www.nysun.com/article/32787
which says that the violent death rate in Iraq (which presumably
includes violent deaths from the war) is lower than the violent
death rate in major American cities.
Does anyone have any insights
Le 19.05.2006 13:54, Gabor Grothendieck a écrit :
I came across this one:
http://www.nysun.com/article/32787
which says that the violent death rate in Iraq (which presumably
includes violent deaths from the war) is lower than the violent
death rate in major American cities.
Does anyone
On 5/19/2006 7:54 AM, Gabor Grothendieck wrote:
I came across this one:
http://www.nysun.com/article/32787
which says that the violent death rate in Iraq (which presumably
includes violent deaths from the war) is lower than the violent
death rate in major American cities.
Does anyone
Hi R-users,
I have the following code:
f -function(x,p)sqrt(-(x^2)-2*log(1-p))
r1 -sqrt(-2*log(1-0.95))
r2 -sqrt(-2*log(0.05))
on executing i get the following results
f(r1,0.95)
[1] 0
f(r2,0.95)
[1] NaN
Warning message:
NaNs produced in: sqrt(-(x^2) - 2 * log(1 - p))
I tried to track
Anthony,
in the same way that we're not allowed to say if(x==0) if x is a real
number, we can't say that 0.05=1-0.95... as 1-0.95 is not represented
as a base 10 number on the computer, but in some base 2^i depending on
your computer...and the representation is not necessarily exact...
i.e.
On 5/19/2006 8:25 AM, Gichangi, Anthony wrote:
Hi R-users,
I have the following code:
f -function(x,p)sqrt(-(x^2)-2*log(1-p))
r1 -sqrt(-2*log(1-0.95))
r2 -sqrt(-2*log(0.05))
on executing i get the following results
f(r1,0.95)
[1] 0
f(r2,0.95)
[1] NaN
Warning message:
NaNs
Rolf Turner [EMAIL PROTECTED] writes:
Gabor Grothendieck wrote:
I came across this one:
http://www.nysun.com/article/32787
which says that the violent death rate in Iraq (which presumably
includes violent deaths from the war) is lower than the violent
death rate in major
I guess it all depends on what you include in the category of violent death.
This study is the only one I'm aware of to attempt to address this:
http://www.thelancet.com/journals/lancet/article/PIIS0140673604174412/fulltext
(there's a registration but I think it's free, can't remember).
-roger
Peter Dalgaard [EMAIL PROTECTED] 5/19/2006 8:41 am
wrote
They are... Figures like the ones quoted for South Africa, Colombia,
New Orleans c generally represent the existence of neighbourhoods
with total social and law enforcement breakdown.
However, numbers can easily be misleading. I notice
Hi All,
This is a question not directly related to R itself, it's about how to
deal with missing data. I want to build wind roses i.e. circular
histograms of wind directions and associated speeds to look for trends
or changes in the wind patterns over several decades for some meteo
stations. The
Googling for:
What Every Computer Scientist should know about floating point arithmetic
Gets you to a very enlightening pdf about these issues.
Hth, ingmar
From: Gichangi, Anthony [EMAIL PROTECTED]
Date: Fri, 19 May 2006 14:25:51 +0200
To: R-help r-help@stat.math.ethz.ch
Subject: [R]
The Iraq Statistics thread is a very interesting topic,
and no doubt a lot of us would like to chip in with our
views and comments -- indeed we are likely to bring a
more discriminating view to such discussion than might
be the case on many other lists.
So if this took on a life of its own then
I posted several months about the problem with adding tick marks to curves
using lines.survfit.
This occurs when lines.survfit is used to add a curve to survival curves
plotted with plot.survfit. The help for this function implies that
mark.time=TRUE thus:
What did the maintainer say? (This is in a contributed package survival,
see the posting guide.)
The help page says
fit - survfit(Surv(time, status) ~ sex, pbc,subset=1:312)
plot(fit, mark.time=FALSE, xscale=365.24,
xlab='Years', ylab='Survival')
lines(fit[1],
For what the article says, every country should have a war to have a
lower violent death rate!!
Gabor Grothendieck wrote:
I came across this one:
http://www.nysun.com/article/32787
which says that the violent death rate in Iraq (which presumably
includes violent deaths from the war) is lower
On 19 May 2006 at 14:20, (Ted Harding) wrote:
| than you, what that seems to spell out -- maybe R-Social
| might be better).
Perfect! Those with bruises from asking silly or uninformed questions on
r-help can refer to that list as ... R-AntiSocial.
Just kidding. I'd be up for an off-topic list
Though I agree that the violent death rate in US cities is sad, I
would also guess that the estimates are relatively accurate. I would
also say that the experimental design assumed in the article is
potentially badly flawed, with tremendous underreporting in Iraq and
meticulous reporting
From: Dirk Eddelbuettel
On 19 May 2006 at 14:20, (Ted Harding) wrote:
| than you, what that seems to spell out -- maybe R-Social
| might be better).
A ROT-SIG list?
Perfect! Those with bruises from asking silly or uninformed
questions on r-help can refer to that list as ...
These beliefs are very prevelant. The IT person for my group doesn't
beleieve in the concept of _free_ software and actually expects me to be
arrested some day for using R at work! All I can say is keep the faith.
On 5/19/06, J Dougherty [EMAIL PROTECTED] wrote:
On Thursday 18 May 2006 14:51,
It seems that as time goes by, people including statisticians, forget
the past and must re-invent it. Anyone interested should read
Richardson's The Statistics of Deadly Quarrels. Volume 2 of The World
of Mathematics. The book used to be given out as sort of a cracker-jack
prize by book clubs
We have a PostgreSQL table with about 40 records in it. Using
either RODBC or RdbiPgSQL, what is the fastest way to update one (or a
few) column(s) in a large collection of records? Currently we're
sending sql like
BEGIN
UPDATE table SET col1=value WHERE id=id
(repeated thousands of
Hello list,
I wrote a simple program to plot data on polar axes, taking advantage of
the plotrix package and its function radial.plot. The basic plot works
fine, but I am having difficulties with the formatting. There are three
problems, but I thought I would attack them one at a time. Here is
Dear R-help,
The family collection of objects is very useful since I can perform some
of the calculations involved when fitting glms easily in a vectorized
manner.
I would like to extend them in the following manner: I want to supply a
vector of family names such as c(poisson, gamma,beta), and
I was going to suggest sqlUpdate in RODBC, but it looks like that
function also uses the UPDATE command repeated nrow times.
A second strategy that I generally prefer because it does not require
RODBC (as much) and better supports transaction control is to first
create a temporary table with the
Your approach seems very inefficient - it looks like you're executing
thousands of update statements. Try something like this instead:
#---build a table 'updates' (id and value)
...
#---do all updates via a single left join
UPDATE bigtable a LEFT JOIN updates b
ON a.id = b.id
SET a.col1 = b.value;
Your message with subject [EMAIL PROTECTED] sent on
05/19/06, 11:18:39 contained one or more attachments not allowed by
Chevron and was blocked. If you did not send such an email, your email
address may have been spoofed. In this case, no further action is
required on your part and you may
Searching over a finite set of possible values sounds like a variant
of integer programming. If the finite number is small, then the most
efficient algorithm may be just to compute them all.
However, if it's a number like 13^13, then that's not feasible. If
the objective
I am writing a function to assess the out of sample predictive capabilities
of a time series regression model. However lm.predict isn't behaving as I
expect it to. What I am trying to do is give it a set of explanatory
variables and have it give me a single predicted value using the lm fitted
On 5/19/2006 11:17 AM, Duncan Murdoch wrote:
We have a PostgreSQL table with about 40 records in it. Using
either RODBC or RdbiPgSQL, what is the fastest way to update one (or a
few) column(s) in a large collection of records? Currently we're
sending sql like
BEGIN
UPDATE table
data.frame(x=newData) will not have any entries called x: You supplied
newdata, so assuming you means newdata,
data.frame(x=newdata)
x.1 x.2 x.3 x.4 x.5 x.6
1 1 1 1 1 1 1
has 6 columns none of which is labelled x.
If you read the help for lm, it does not mention having a
I have had a similar issue recently, and looking at the archives of this list,
I see other cases of it as well. It took me a while to figure out that the
variable name in the data frame must be identical to the variable name in the
model. I don't see this mentioned in the documentation of
Dear R users,
experimenting with the lm function in R, I've encountered some
behaviour I don't understand with my limited knowledge of regression.
I made a data-'set' of three measurements (see syntax below). Using
lm (linear model) to fit the regression-line, I expected to find an
put the updates into a temporary table called updates
UPDATE bigtable AS a
FROM updates AS b
WHERE a.id = b.id
SET a.col1 = b.col1
I don't think this will be any faster - why would creating a new table
be faster than updating existing rows?
I've never had a problem with using
On 5/19/06, J Dougherty [EMAIL PROTECTED] wrote:
While there is no
charge for R, it IS properly licensed properly licensed under the GPL.
At one company I was working for, I had to run all the licenses of all
the software I had on my machine, through the legal department.
When they read GNU
Hello,
I'm trying to install R on a linux machine running Red Hat 8. I ran
./configure
make
and get the following error. I've installed several versions of R (2.2.1
most recently) on this machine and haven't had any problems until now. I
wondered if the outdated compiler (gcc version 3.2) was
On Thursday 18 May 2006 14:51, Damien Joly wrote:
Hi all,
HOWEVER, I might be able to work around this policy if I can find a
licensed software vendor, preferably in Canada, that sells R.
I tried googling R vendors but was unsuccessful.
Any ideas?
Would cheapbytes
No, not weird.
Think of it this way. As you move point (0,2) to (1,2) the slope which was
0 is moving towards infinity. Eventually the 3 points are perfectly
vertical and so must have infinite slope.
Your delta-x is not sufficiently granular to show the slope change for
x-values very close
Hello, R people:
I have a question in using fSeries package--the funciton garchFit and
garchOxFit
if adding a regression to the mean formula, how to estimate the model in
R? using garchFit or garchOxFit?
For example, Observations is {x,y}_t,there may be some relation between x
and y.
On Fri, 2006-05-19 at 15:37 -0400, Randall C Johnson [Contr.] wrote:
Hello,
I'm trying to install R on a linux machine running Red Hat 8. I ran
./configure
make
and get the following error. I've installed several versions of R (2.2.1
most recently) on this machine and haven't had any
Randy Zelick zelickr at pdx.edu writes:
There is a switch to set the upper bound on rings (radial.lim) but I don't
see a way to specify the lower bound. What I want is a bullseye plot
that goes from my start value (first ring at 10) to my end value (last
ring at 100) independent of the
-- Forwarded message --
From: ma yuchao [EMAIL PROTECTED]
Date: 2006-5-20 ÉÏÎç4:01
Subject: hello, everyone
To: R-help@stat.math.ethz.ch
Hello, R people:
I have a question in using fSeries package--the funciton garchFit and
garchOxFit
if adding a regression to the mean
Hello,
I am currently using probplot function in the e1071 package to do
cumulative probability plots . I want to be able to do multiple
cumulative probability plots ( based on a grouping of data) on a single
plot. Any help with this would be greatly appreciated.
Thanks.
Hadley,
There are several reasons that running one large load and one large
update would be significantly faster than thousands of individual
updates.
First, the time it takes to execute a query does not grow linearly with
the size of a query. That is, the statement: SELECT TOP 100 * FROM
table
That's exactly what I needed.
thanks to all!
Randy
On 5/19/06 4:02 PM, Marc Schwartz (via MN) [EMAIL PROTECTED] wrote:
On Fri, 2006-05-19 at 15:37 -0400, Randall C Johnson [Contr.] wrote:
Hello,
I'm trying to install R on a linux machine running Red Hat 8. I ran
./configure
make
and
Marc Schwartz (via MN) [EMAIL PROTECTED] writes:
Download the latest r-patched tarball and you should be OK. Prof.
Ripley made some changes to sock.h that should get around these issues.
Unfortunately, they were not reported until after the release of 2.3.0.
Download from here:
Users are often surprised and alarmed that the summary of a linear
mixed model fit by lmer provides estimates of the fixed-effects
parameters, standard errors for these parameters and a t-ratio but no
p-values. Similarly the output from anova applied to a single lmer
model provides the sequential
Thanks Jim. This is almost what I want. One problem is that the colors are
not mixing at the same position and the latter color simply overwrites the
previous one if their V4 and V6 are similar. I am wondering if 1) somehow
the colors can be mixed at the same position or 2) bin V6 at some interval
3rd Millennium is announcing the release of its award winning Array Repository
and Data Analysis System (ARDAS) version 2. ARDAS is a web-enabled enterprise
software system that provides a complete and fully integrated solution to
microarray data acquisition, management, and analysis.
ARDAS
While reading the various answers, I've remembered that
the juridic part can't be that so simple. If I'm not fogeting
something, there are some packages in R that has a more
restrictive licence than GPL.
HTH,
Rogerio.
- Original Message -
From: Damien Joly [EMAIL PROTECTED]
To:
3rd Millennium is announcing the release of its award winning Array Repository
and Data Analysis System (ARDAS) version 2. ARDAS is a web-enabled enterprise
software system that provides a complete and fully integrated solution to
microarray data acquisition, management, and analysis.
ARDAS
On Fri, 19 May 2006, Rachel Pearce wrote:
I posted several months about the problem with adding tick marks to curves
using lines.survfit.
Fixed in survival 2.26, which will be in R 2.3.1
-thomas
Thomas Lumley Assoc. Professor, Biostatistics
[EMAIL PROTECTED]
3rd Millennium is announcing the release of its award winning Array Repository
and Data Analysis System (ARDAS) version 2. ARDAS is a web-enabled enterprise
software system that provides a complete and fully integrated solution to
microarray data acquisition, management, and analysis.
ARDAS
Sam,
maybe you'll like to read about some environmetrics packages at
http://cran.r-project.org/src/contrib/Views/Environmetrics.html
or about more specific spatial analysis packages at
http://cran.r-project.org/src/contrib/Views/Spatial.html
Have a good reading and... good luck!
Rogerio.
-
Larry Howe wrote:
I have had a similar issue recently, and looking at the archives of this
list,
I see other cases of it as well. It took me a while to figure out that the
variable name in the data frame must be identical to the variable name in the
model. I don't see this mentioned in
On Fri, 2006-05-19 at 17:59 -0300, Rogerio Porto wrote:
While reading the various answers, I've remembered that
the juridic part can't be that so simple. If I'm not fogeting
something, there are some packages in R that has a more
restrictive licence than GPL.
HTH,
Rogerio.
Any CRAN
On Fri, 19 May 2006, Jason Barnhart wrote:
No, not weird.
Think of it this way. As you move point (0,2) to (1,2) the slope which was
0 is moving towards infinity. Eventually the 3 points are perfectly
vertical and so must have infinite slope.
Your delta-x is not sufficiently granular to
Thanks for this (and everyone else's!) responses! I really appreciate it.
You've all given me a lot of potential workarounds.
Damien
p.s., I suspect this will apply to Firefox, GIMP, OOo.org, and all the other
great OS tools I use on a daily basis.
On 5/19/06, Marc Schwartz (via MN) [EMAIL
Hello,
This is my first attempt at using R. Still trying to figure out and understand
how to work with data frames.
I am trying to plot the following data(example). Some experimental data i am
trying to plot here.
1) i have 2 files
2) First File:
Number Position
1
Douglas Bates wrote:
Users are often surprised and alarmed that the summary of a linear
. . . .
Doug,
I have been needing this kind of explanation. That is very helpful.
Thank you. I do a lot with penalized MLEs for ordinary regression and
logistic models and know that getting sensible
I see what you mean. Thanks for the correction.
-jason
- Original Message -
From: Thomas Lumley [EMAIL PROTECTED]
To: Jason Barnhart [EMAIL PROTECTED]
Cc: R-help@stat.math.ethz.ch; Rense Nieuwenhuis
[EMAIL PROTECTED]
Sent: Friday, May 19, 2006 2:39 PM
Subject: Re: [R] Weird LM
Hi,
I'm trying to write a histogram to a pdf
pdf()
plot-hist(c, xlim=c( 0.69, 0.84), ylim=c(0,100))
when I try to open the pdf I can't open it, there is always some
error . Is there something I should add to make it run under this
operation system? I had problems upgrading to 2.3 (problem
On Fri, 2006-05-19 at 16:36 -0700, Betty Gilbert wrote:
Hi,
I'm trying to write a histogram to a pdf
pdf()
plot-hist(c, xlim=c( 0.69, 0.84), ylim=c(0,100))
when I try to open the pdf I can't open it, there is always some
error . Is there something I should add to make it run under this
On Fri, 2006-05-19 at 17:44 -0500, Frank E Harrell Jr wrote:
Douglas Bates wrote:
Users are often surprised and alarmed that the summary of a linear
. . . .
Doug,
I have been needing this kind of explanation. That is very helpful.
Thank you. I do a lot with penalized MLEs for ordinary
Jarek wrote:
At one company I was working for, I had to run all the licenses of
all the software I had on my machine, through the legal department.
When they read GNU Public License (GPL) their only comment was: We
have no idea what that license means. Do not touch any software using
it.
I'm trying to perform ANCOVAs in R 1.14, on a Mac OS X, but I can't figure out
what I am doing wrong. Essentially, I'm testing whether a number of
quantitative dental measurements (the response variables in each ANCOVA) show
sexual dimorphism (the sexes are the groups) independently of the
I'm using R V 2.2.1. When I try an example from the as.Date help page,
I get an error.
x - c(1jan1960, 2jan1960, 31mar1960, 30jul1960)
z - as.Date(x, %d%b%Y)
Error in strptime(x, format) : 2 arguments passed to 'strptime' which
requires 3
Any suggestions would be appreciated.
Thanks,
On 5/19/2006 3:19 PM, hadley wickham wrote:
put the updates into a temporary table called updates
UPDATE bigtable AS a
FROM updates AS b
WHERE a.id = b.id
SET a.col1 = b.col1
I don't think this will be any faster - why would creating a new table
be faster than updating existing
First, have you made normal probably plots (e.g., with function
qqnorm) of the data and of the whitened residuals from the fits of the
different models? If you've got outliers, they could drive strange
results; you should refit after setting the few outliers to NA. You
didn't tell
I can't reproduce this on my XP system:
x - c(1jan1960, 2jan1960, 31mar1960, 30jul1960)
z - as.Date(x, %d%b%Y)
z
[1] 1960-01-01 1960-01-02 1960-03-31 1960-07-30
R.version.string # XP
[1] R version 2.2.1, 2005-12-20
I also tried it on 2.3.0 patched and could not reproduce it there
either.
On
92 matches
Mail list logo