Smoothing data
The 
ggplot2
package also makes it very easy to create regression lines
through your data. You use the 
stat_smooth()
function to create this type of line.
The interesting thing about 
stat_smooth()
is that it makes use of local
regression by default. R has several functions that can do this, but 
ggplot2
uses the
loess()
function for local regression. This means that if you want to create a linear
regression model (as in Chapter 15), you have to tell 
stat_smooth()
to use a
different smoother function. You do this with the 
method
argument.
To illustrate the use of a smoother, start by creating a scatterplot of
unemployment in the 
longley
dataset:
> ggplot(longley, aes(x=Year, y=Employed)) + geom_point()
Next, add a smoother. This is as simple as adding 
stat_smooth()
to your line
of code.
> ggplot(longley, aes(x=Year, y=Employed)) +
+     geom_point() + stat_smooth()
Your graphic should look like the plot to the left of Figure 18-5. Finally, tell
stat_smooth
to use a linear regression model. You do this by adding the argument
method=”lm”
.
> ggplot(longley, aes(x=Year, y=Employed)) +
+     geom_point() + stat_smooth(method=”lm”)
Your graphic should now look like the plot to the right in Figure 18-5.
Figure 18-5: Adding regression lines with 
stat_smooth()
.
Pdf searchable text converter - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
search pdf files for text programmatically; text searchable pdf
Pdf searchable text converter - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
make pdf text searchable; how to select text in pdf image
Doing nothing with identity
Sometimes you don’t want 
ggplot2
to summarize your data in the plot. This
usually happens when your data is already pre-summarized or when each line of
your data frame has to be plotted separately. In these cases, you want to tell
ggplot2
to do nothing at all, and the stat to do this is 
stat_identity()
. You
probably noticed in Table 18-1 that 
stat_identity
is the default statistic for points
and lines.
Adding Facets, Scales, and Options
In addition to data, geoms, and stats, the full specification of a 
ggplot2
includes facets and scales. You’ve encountered facets in Chapter 17 — these allow
you to visualize different subsets of your data in a single plot. Scales include not
only the x-axis and y-axis, but also any additional keys that explain your data (for
example, when different subgroups have different colors in your plot).
Adding facets
To illustrate the use of facets, you may want to replicate some of the faceted
plots of the dataset 
mtcars
that you encountered in Chapter 17.
To make the basic scatterplot of fuel consumption against performance, use
the following:
> ggplot(mtcars, aes(x=hp, y=mpg)) + geom_point()
Then, to add facets, use the function 
facet_grid()
. This function allows you to
create a two-dimensional grid that defines the facet variables. You write the
argument to 
facet_grid()
as a formula of the form 
rows ~ columns
. In other
words, a tilde (
~
) separates the row variable from the column variable.
To illustrate, add facets with the number of cylinders as the columns. This
means your formula is 
~cyl
. Notice that because there are no rows as facets, there
is nothing before the tilde character:
> ggplot(mtcars, aes(x=hp, y=mpg)) + geom_point() +
+     stat_smooth(method=”lm”) + facet_grid(~cyl)
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
document to editable & searchable text file. Different from other C# .NET PDF to text conversion controls, RasterEdge C# PDF to text converter control toolkit
search pdf files for text; how to select text in pdf reader
Online Convert PDF to Text file. Best free online PDF txt
document to editable & searchable text file. Different from other C# .NET PDF to text conversion controls, RasterEdge C# PDF to text converter control toolkit
how to select text in pdf and copy; searching pdf files for text
Your graphic should look like Figure 18-6.
Similar to 
facet_grid()
, you also can use the 
facet_wrap()
function to
wrap one dimension of facets to fill the plot grid.
Figure 18-6: Adding facets with 
facet_grid()
.
Changing options
In 
ggplot2
, you also can take full control of your titles, labels, and all other
plot parameters.
To add x-axis and y-axis labels, you use the functions 
xlab()
and 
ylab()
.
To add a main title, you have to specify the 
title
argument to the function
opts()
:
> ggplot(mtcars, aes(x=hp, y=mpg)) + geom_point(color=”red”) +
+     xlab(“Performance (horse power”) +
+     ylab(“Fuel consumption (mpg)”) +
+     opts(title = “Motor car comparison”)
Your graphic should look like Figure 18-7.
Figure 18-7: Changing 
ggplot2
options.
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
Text in any PDF fields can be copied and pasted to .txt files by keeping VB.NET control for batch converting PDF to editable & searchable text formats.
find and replace text in pdf file; convert pdf to word searchable text
VB.NET Image: Robust OCR Recognition SDK for VB.NET, .NET Image
for VB.NET provides users fast and accurate image recognition function, which converts scanned images into searchable text formats, such as PDF, PDF/A, WORD
pdf search and replace text; cannot select text in pdf file
Working with scales
In 
ggplot2
, scales control the way your data gets mapped to your geom. In
this way, your data is mapped to something you can see (for example, lines,
points, colors, position, or shapes).
The 
ggplot2
package is extremely good at selecting sensible default values
for your scales. In most cases, you don’t have to do much to customize your
scales. However, 
ggplot2
has a wide range of very sophisticated functions
and settings to give you fine-grained control over your scale behavior and
appearance.
In the following example, you map the column 
mtcars$cyl
to both the shape
and color of the points. This creates two separate, but overlapping, scales:
One scale controls shape, while the second scale controls the color of the
points:
> ggplot(mtcars, aes(x=hp, y=mpg)) +
+ geom_point(aes(shape=factor(cyl),
colour=factor(cyl)))
The name of a scale defaults to the name of the variable that gets mapped
to it. In this case, you map 
factor(cyl)
to the scale. To change the
appearance of a scale, you need to add a scale function to your plot. The
specific scale function you use is dependent on the type of scale, but in this
case, you have a shape scale with discrete values, so you use the
scale_shape_ discrete()
function. You also have a color scale with discrete
value, so you can control that with 
scale_colour_discrete()
. To change the
name that appears in the legend of the plot, you need to specify the
argument 
name
to these scales. For example, change the name of the legend
to “Cylinders” by setting the argument 
name=”Cylinders”
:
> ggplot(mtcars, aes(x=hp, y=mpg)) +
+ geom_point(aes(shape=factor(cyl),
colour=factor(cyl))) +
+ scale_shape_discrete(name=”Cylinders”) +
+ scale_colour_discrete(name=”Cylinders”)
C# Create PDF Library SDK to convert PDF from other file formats
The PDF document file created by RasterEdge C# PDF document creator library is searchable and can be fully populated with editable text and graphics
how to select text in a pdf; pdf text search tool
C# PDF: C# Code to Draw Text and Graphics on PDF Document
Draw and write searchable text on PDF file by C# code in both Web and Windows applications. C#.NET PDF Document Drawing Application.
pdf searchable text converter; pdf text searchable
+ scale_colour_discrete(name=”Cylinders”)
Similarly, to change the x-axis scale, you would use 
scale_x_continuous()
.
Getting More Information
In this chapter, we give you only a glimpse of the incredible power and
variety at your fingertips when you use 
ggplot2
. No doubt you’re itching to do
more. Here are a few resources that you may find helpful:
The 
ggplot2
website (
http://had.co.nz/ggplot2
) contains help and code
examples for all the geoms, stats, facets, and scales. This site is an excellent
resource. Because it also contains images of each plot, it’s even easier to use
than the built-in R Help.
Hadley Wickham, the author of 
ggplot2
, also wrote an excellent book that
describes how to use 
ggplot2
in a very easy and helpful way. The book is called
ggplot2: Elegant Graphics for Data Analysis, and you can find its website at
http://had.co.nz/ggplot2/book
. At this website, you also can find some sample
chapters that you can read free of charge.
At 
https://github.com/hadley/ggplot2/wiki
, you can find the 
ggplot2
wiki,
which is actively maintained and contains links to all kinds of useful information.
VB.NET Create PDF from Text to convert txt files to PDF in vb.net
Best VB.NET adobe text to PDF converter library for Visual Studio .NET project. Batch convert editable & searchable PDF document from TXT formats in VB.NET
pdf find text; text select tool pdf
C# Create PDF from Text to convert txt files to PDF in C#.net, ASP
PDF converter SDK for converting adobe PDF from TXT in Visual Studio .NET project. .NET control for batch converting text formats to editable & searchable PDF
cannot select text in pdf; search pdf files for text
Part VI
The Part of Tens
In this part . . .
Every For Dummies book gives you a Part of Tens, and this one is no different.
In Chapter 19, we cover ten things you might otherwise do with Microsoft Excel but
can do in R instead. Most of these methods appear in one way or another
somewhere else in this book, and this chapter pulls them all together.
Chapter 20 lists ten things you really need to know about working with
packages. And because we can’t possibly cover all of R in one book, we added a
few useful sources to find extra information on both R and its packages. So, you
can use this chapter as a road map to find out where to go from here.
VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
less searchable for search engines. The other is the crashing problem when user is visiting the PDF file using web browser. Our PDF to HTML converter library
pdf text search; how to search a pdf document for text
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Export all Word text and image content into high quality PDF without losing formatting. Easy to create searchable and scanned PDF files from Word.
find text in pdf image; how to select text in pdf reader
Chapter 19
Ten Things You Can Do in R That You Would’ve
Done in Microsoft Excel
In This Chapter
Performing calculations and other operations on data
Going beyond what you can do in a spreadsheet
The spreadsheet is probably one of the most widely used PC applications —
and for good reason: Spreadsheets make it very easy to perform calculations and
other operations on tabular data. But spreadsheets pose some risks as well:
They’re easy to corrupt and very difficult to debug.
The good news is, you can use R to do many of the same things you used to
do in spreadsheets. In R, you use data frames to represent tabular data. R has
many functions, operators, and methods that allow you to manipulate and calculate
on data frames. This means that you can do just about anything (and more) in R
that you would’ve done in Microsoft Excel, LibreOffice Calc, or your favorite
spreadsheet application.
In this chapter, we offer some pointers on functions that you can explore in R,
most of which are covered earlier in this book. In most cases, we provide some
sample code but not the results. Try these examples yourself, and remember to
use the R Help documentation to find out more about these functions.
Adding Row and Column Totals
One task that you may frequently do in a spreadsheet is calculating row or
column totals. The easiest way to do this is to use the functions 
rowSums()
and
colSums()
. Similarly, use the functions 
rowMeans()
and 
colMeans()
to calculate
means.
Try it on the built-in dataset 
iris
. First, remove the fifth column, because it
contains text that describes the species of iris:
> iris.num <- iris[, -5]
Then calculate the sum and mean for each column:
> colSums(iris.num)
> colMeans(iris.num)
These two functions are very convenient, but you may want to calculate some
other statistic for each column or row. There’s an easy way of traversing rows or
columns of an array or data frame: the 
apply()
function (see Chapter 13). For
example, getting the minimum of a column is the same as applying a 
min()
function to the second dimension of your data:
> apply(iris.num, 2, min)
> apply(iris.num, 2, max)
The 
apply()
function is ideal when your data is in an array and will apply
happily over both rows and columns. For the special case where your data is in
a data frame and you want to get column summaries, you’re better off using
sapply()
rather than 
apply()
. So, to get your 
iris
column summaries, try this
instead:
> sapply(iris.num, min)
> sapply(iris.num, max)
Formatting Numbers
When you produce reports, you want your numbers to appear all nicely
formatted. For example, you may want to align numbers on the decimal points or
specify the width of the column. Or you may want to print your number with a
currency symbol ($100.00) or append a percentage sign to it (35.7%).
You can use 
format()
to turn your numbers into pretty text, ready for printing.
This function takes a number of arguments to control the format of your result.
Here are a few:
trim
: A logical value. If 
FALSE
, it adds spaces to right-justify the result. If 
TRUE
, it
suppresses the leading spaces.
digits
: How many significant digits of numeric values to show.
nsmall
: The minimum number of digits after the decimal point.
In addition, you can control the format of the decimal point with 
decimal.mark
,
the mark between intervals before the decimal point with 
big.mark
, as well as the
mark between intervals after the decimal point with 
small.mark
.
For example, you can print the number 12345.6789 with a comma as decimal
point, spaces as the big mark, and dots as the small mark:
> format(12345.6789, digits=9, decimal.mark=”,”,
+     big.mark=” “,small.mark=”.”, , small.interval=3)
[1] “12 345,678.9”
As a more practical example, to calculate the means of some columns in
mtcars
and then print the results with two digits after the decimal point, use the
following:
> x <- colMeans(mtcars[, 1:4])
> format(x, digits=2, nsmall=2)
mpg      cyl     disp       hp
“ 20.09” “  6.19” “230.72” “146.69”
Notice that the result is no longer a number but a text string. So, be careful
when you use number formatting — this should be the last step in your reporting
workflow.
If you’re familiar with programming in languages similar to C or C++, then you
also may find the 
sprintf()
function useful, because 
sprintf()
is a wrapper
around the C 
printf()
function. This wrapper allows you to paste your formatted
number directly into a string.
Here’s an example of converting numbers into percentages:
> x <- seq(0.5, 0.55, 0.01)
> sprintf(“%.1f %%”, 100*x)
[1] “50.0 %” “51.0 %” “52.0 %” “53.0 %” “54.0 %” “55.0 %”
This bit of magic should be familiar to C programmers, but for the rest of us,
this is what it does: The first argument to 
sprintf()
indicates the format — in this
case, 
“%.1f %%”
. The format argument uses special literals that indicate that the
function should replace this literal with a variable and apply some formatting. The
literals always start with the 
%
symbol. So, in this case, 
%.1f
means to format the
first supplied value as a fixed point value with one digit after the decimal point, and
%%
is a literal that means print a 
%
.
To format some numbers as currency — in this case, U.S. dollars — use the
following:
> set.seed(1)
> x <- 1000*runif(5)
> sprintf(“$ %3.2f”, x)
[1] “$ 265.51” “$ 372.12” “$ 572.85” “$ 908.21” “$ 201.68”
As you saw earlier, the literal 
%3.2f
means to format the value as a fixed point
value with three digits before the decimal and two digits after the decimal.
The 
sprintf()
function is a lot more powerful than that: It gives you an
alternative way of pasting the value of any variable into a string:
> stuff <- c(“bread”, “cookies”)
> price <- c(2.1, 4)
> sprintf(“%s costed $ %3.2f “, stuff, price)
[1] “bread costed $ 2.10 “   “cookies costed $ 4.00 “
What happens here is that, because you supplied two vectors (each with two
elements) to 
sprintf()
, your result is a vector with two elements. R cycles through
the elements and places them into the 
sprintf()
literals. Thus, 
%s
(indicating
format the value as a string) gets the value 
“bread”
the first time and 
“cookies”
the second time.
You can do everything with 
paste()
and 
format()
that you can do with
sprintf()
, so you don’t really ever need to use it. But when you do, it can simplify
your code.
Sorting Data
To sort data in R, you use the 
sort()
or 
order()
functions (see Chapter 13).
To sort the data frame 
mtcars
in increasing or decreasing order of the column
hp
, use the following:
> with(mtcars, mtcars[order(hp), ])
> with(mtcars, mtcars[order(hp, decreasing=TRUE), ])
Documents you may be interested
Documents you may be interested