Scaling infrastructure is tricky,
I will try to explain what methods I use when dealing with this issue, and demonstrate an approach which can be applied to almost any type of work load.
Scaling infrastructure is tricky,
I will try to explain what methods I use when dealing with this issue, and demonstrate an approach which can be applied to almost any type of work load.
We are all told that we must use bind variables rather than literals in our code, and then are left to deal with the problems this causes. This issue probably still causes more performance tuning problems than any other. This presentation discusses how Oracle has handled the optimisation of statements using bind variables from version 8i to the new features in Oracle 11g and highlights some issues that still exist in version 11g.
Verification of Concurrent and Distributed SystemsMykola Novik
Building correct concurrent and distributed systems is hard and very challenging task also high complexity of such software increases the probability of human error in design and architecture. On practice standard verification techniques in industry are necessary but not sufficient. In my talk we will discuss formal specification and verification language that helps engineers design, specify, reason about and verify complex, real-life algorithms and software systems.
These are the slides for the talk given in the Clojure Meetup user group. There are notes added about each slides, sadly, the videos can't be played but notes cover what is shown.
If you have any questions, send me an e-mail, you can find it in the last slide.
Losing Data in a Safe Way – Advanced Replication Strategies in Apache Hadoop ...DataWorks Summit
All the distributed file systems and NoSQL databases work very well during the normal operation. We can find the big differences if we investigate the behaviour in case of emergency. Data replication strategies and recovery algorithms are the key ingredients of a distributed data storage to save data.
Recent studies proved that the random replication is not the safest choice for storing data as it almost guarantees to lose data in the common scenario of simultaneous node failures. Copyset Replication method significantly reduces the frequency of data loss events with selecting the replica groups in a smart way.
In this talk we will introduce the key elements of a successful data replication and show how advanced data replication strategies could help to survive outages. We will show how Apache Hadoop Ozone solves the problem with advanced techniques and present the challenges of using Copyset algorithm with advanced cluster topology support.
In this session Max Kleiner shows four groups of the ML: Regression, Dimension Reduction, Clustering and Classification. ML recognizes patterns and laws in the learning data. Most ML projects allegedly fail due to lack of data consolidation and due to lack of hypothesis. On the basis of the well-known IRIS dataset the 4 groups with 4 algorithms each are gone through and this lack is avoided.
re:Invent 2019 BPF Performance Analysis at NetflixBrendan Gregg
Talk by Brendan Gregg at AWS re:Invent 2019. Abstract: "Extended BPF (eBPF) is an open source Linux technology that powers a whole new class of software: mini programs that run on events. Among its many uses, BPF can be used to create powerful performance analysis tools capable of analyzing everything: CPUs, memory, disks, file systems, networking, languages, applications, and more. In this session, Netflix's Brendan Gregg tours BPF tracing capabilities, including many new open source performance analysis tools he developed for his new book "BPF Performance Tools: Linux System and Application Observability." The talk includes examples of using these tools in the Amazon EC2 cloud."
Slides from the APEXConnect 2018 conference in Dusseldorf.
APEX is amazing and most SQL is taken care of automatically. But by delving a little deeper into more advanced SQL facilities, we can get performance benefits and write a lot less middle-tier code. This session highlights some SQL techniques to solve problems that would otherwise require a lot of complex coding. Learn how to become a more productive developer by expanding your knowledge of the SQL language.
We are all told that we must use bind variables rather than literals in our code, and then are left to deal with the problems this causes. This issue probably still causes more performance tuning problems than any other. This presentation discusses how Oracle has handled the optimisation of statements using bind variables from version 8i to the new features in Oracle 11g and highlights some issues that still exist in version 11g.
Verification of Concurrent and Distributed SystemsMykola Novik
Building correct concurrent and distributed systems is hard and very challenging task also high complexity of such software increases the probability of human error in design and architecture. On practice standard verification techniques in industry are necessary but not sufficient. In my talk we will discuss formal specification and verification language that helps engineers design, specify, reason about and verify complex, real-life algorithms and software systems.
These are the slides for the talk given in the Clojure Meetup user group. There are notes added about each slides, sadly, the videos can't be played but notes cover what is shown.
If you have any questions, send me an e-mail, you can find it in the last slide.
Losing Data in a Safe Way – Advanced Replication Strategies in Apache Hadoop ...DataWorks Summit
All the distributed file systems and NoSQL databases work very well during the normal operation. We can find the big differences if we investigate the behaviour in case of emergency. Data replication strategies and recovery algorithms are the key ingredients of a distributed data storage to save data.
Recent studies proved that the random replication is not the safest choice for storing data as it almost guarantees to lose data in the common scenario of simultaneous node failures. Copyset Replication method significantly reduces the frequency of data loss events with selecting the replica groups in a smart way.
In this talk we will introduce the key elements of a successful data replication and show how advanced data replication strategies could help to survive outages. We will show how Apache Hadoop Ozone solves the problem with advanced techniques and present the challenges of using Copyset algorithm with advanced cluster topology support.
In this session Max Kleiner shows four groups of the ML: Regression, Dimension Reduction, Clustering and Classification. ML recognizes patterns and laws in the learning data. Most ML projects allegedly fail due to lack of data consolidation and due to lack of hypothesis. On the basis of the well-known IRIS dataset the 4 groups with 4 algorithms each are gone through and this lack is avoided.
re:Invent 2019 BPF Performance Analysis at NetflixBrendan Gregg
Talk by Brendan Gregg at AWS re:Invent 2019. Abstract: "Extended BPF (eBPF) is an open source Linux technology that powers a whole new class of software: mini programs that run on events. Among its many uses, BPF can be used to create powerful performance analysis tools capable of analyzing everything: CPUs, memory, disks, file systems, networking, languages, applications, and more. In this session, Netflix's Brendan Gregg tours BPF tracing capabilities, including many new open source performance analysis tools he developed for his new book "BPF Performance Tools: Linux System and Application Observability." The talk includes examples of using these tools in the Amazon EC2 cloud."
Slides from the APEXConnect 2018 conference in Dusseldorf.
APEX is amazing and most SQL is taken care of automatically. But by delving a little deeper into more advanced SQL facilities, we can get performance benefits and write a lot less middle-tier code. This session highlights some SQL techniques to solve problems that would otherwise require a lot of complex coding. Learn how to become a more productive developer by expanding your knowledge of the SQL language.
Kernel Recipes 2017 - Performance analysis Superpowers with Linux BPF - Brend...Anne Nicolas
The in-kernel Berkeley Packet Filter (BPF) has been enhanced in recent kernels to do much more than just filtering packets. It can now run user-defined programs on events, such as on tracepoints, kprobes, uprobes, and perf_events, allowing advanced performance analysis tools to be created. These can be used in production as the BPF virtual machine is sandboxed and will reject unsafe code, and are already in use at Netflix.
Beginning with the bpf() syscall in 3.18, enhancements have been added in many kernel versions since, with major features for BPF analysis landing in Linux 4.1, 4.4, 4.7, and 4.9. Specific capabilities these provide include custom in-kernel summaries of metrics, custom latency measurements, and frequency counting kernel and user stack traces on events. One interesting case involves saving stack traces on wake up events, and associating them with the blocked stack trace: so that we can see the blocking stack trace and the waker together, merged in kernel by a BPF program (that particular example is in the kernel as samples/bpf/offwaketime).
This talk will discuss the new BPF capabilities for performance analysis and debugging, and demonstrate the new open source tools that have been developed to use it, many of which are in the Linux Foundation iovisor bcc (BPF Compiler Collection) project. These include tools to analyze the CPU scheduler, TCP performance, file system performance, block I/O, and more.
Brendan Gregg, Netflix
Kernel Recipes 2017: Performance Analysis with BPFBrendan Gregg
Talk by Brendan Gregg at Kernel Recipes 2017 (Paris): "The in-kernel Berkeley Packet Filter (BPF) has been enhanced in recent kernels to do much more than just filtering packets. It can now run user-defined programs on events, such as on tracepoints, kprobes, uprobes, and perf_events, allowing advanced performance analysis tools to be created. These can be used in production as the BPF virtual machine is sandboxed and will reject unsafe code, and are already in use at Netflix.
Beginning with the bpf() syscall in 3.18, enhancements have been added in many kernel versions since, with major features for BPF analysis landing in Linux 4.1, 4.4, 4.7, and 4.9. Specific capabilities these provide include custom in-kernel summaries of metrics, custom latency measurements, and frequency counting kernel and user stack traces on events. One interesting case involves saving stack traces on wake up events, and associating them with the blocked stack trace: so that we can see the blocking stack trace and the waker together, merged in kernel by a BPF program (that particular example is in the kernel as samples/bpf/offwaketime).
This talk will discuss the new BPF capabilities for performance analysis and debugging, and demonstrate the new open source tools that have been developed to use it, many of which are in the Linux Foundation iovisor bcc (BPF Compiler Collection) project. These include tools to analyze the CPU scheduler, TCP performance, file system performance, block I/O, and more."
Learn to write readable code with pipes using the magrittr package. You will learn about the forward operator (%>%), exposition operator (%$%) and the assignment operator (%<>%).
OSSNA 2017 Performance Analysis Superpowers with Linux BPFBrendan Gregg
Talk by Brendan Gregg for OSSNA 2017. "Advanced performance observability and debugging have arrived built into the Linux 4.x series, thanks to enhancements to Berkeley Packet Filter (BPF, or eBPF) and the repurposing of its sandboxed virtual machine to provide programmatic capabilities to system tracing. Netflix has been investigating its use for new observability tools, monitoring, security uses, and more. This talk will be a dive deep on these new tracing, observability, and debugging capabilities, which sooner or later will be available to everyone who uses Linux. Whether you’re doing analysis over an ssh session, or via a monitoring GUI, BPF can be used to provide an efficient, custom, and deep level of detail into system and application performance.
This talk will also demonstrate the new open source tools that have been developed, which make use of kernel- and user-level dynamic tracing (kprobes and uprobes), and kernel- and user-level static tracing (tracepoints). These tools provide new insights for file system and storage performance, CPU scheduler performance, TCP performance, and a whole lot more. This is a major turning point for Linux systems engineering, as custom advanced performance instrumentation can be used safely in production environments, powering a new generation of tools and visualizations."
DES irrespective of its small key size, it has been considered to be strong design cipher till today. Designers of DES guaranteed a security margin of 2 power 56. If any attack which is essentially better than 2 power 56 search then that considered to be attack. To crack DES attackers need to spend $ 220000 so that the key can be revealed in 56 hours. But for digital transactions if the key can expire for less than 5 minutes it’s difficult to crack. If this is the case with DES then it will be much more difficult to break Triple DES, which uses 112 bits of key size. The problem with Triple DES is having more rounds, which takes more processing time and space. Not only cryptography, even Light Weight Cryptography needs low processing time and space. Hence a new algorithm named ternary DES is proposed which requires only 56-bit key and 16 rounds. Ternary DES has the advantage of DES with the same key space and number of rounds, and advantage of Triple DES with difficult to break. To propose new algorithms for solving security issues many constraints we need to take into account. With one algorithm we can solve one or a few issues but not all.
Talk by Brendan Gregg for All Things Open 2018. "At over one thousand code commits per week, it's hard to keep up with Linux developments. This keynote will summarize recent Linux performance features,
for a wide audience: the KPTI patches for Meltdown, eBPF for performance observability and the new open source tools that use it, Kyber for disk I/O sc
heduling, BBR for TCP congestion control, and more. This is about exposure: knowing what exists, so you can learn and use it later when needed. Get the
most out of your systems with the latest Linux kernels and exciting features."
Similar to Descriptive analytics in r programming language (20)
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
As Europe's leading economic powerhouse and the fourth-largest hashtag#economy globally, Germany stands at the forefront of innovation and industrial might. Renowned for its precision engineering and high-tech sectors, Germany's economic structure is heavily supported by a robust service industry, accounting for approximately 68% of its GDP. This economic clout and strategic geopolitical stance position Germany as a focal point in the global cyber threat landscape.
In the face of escalating global tensions, particularly those emanating from geopolitical disputes with nations like hashtag#Russia and hashtag#China, hashtag#Germany has witnessed a significant uptick in targeted cyber operations. Our analysis indicates a marked increase in hashtag#cyberattack sophistication aimed at critical infrastructure and key industrial sectors. These attacks range from ransomware campaigns to hashtag#AdvancedPersistentThreats (hashtag#APTs), threatening national security and business integrity.
🔑 Key findings include:
🔍 Increased frequency and complexity of cyber threats.
🔍 Escalation of state-sponsored and criminally motivated cyber operations.
🔍 Active dark web exchanges of malicious tools and tactics.
Our comprehensive report delves into these challenges, using a blend of open-source and proprietary data collection techniques. By monitoring activity on critical networks and analyzing attack patterns, our team provides a detailed overview of the threats facing German entities.
This report aims to equip stakeholders across public and private sectors with the knowledge to enhance their defensive strategies, reduce exposure to cyber risks, and reinforce Germany's resilience against cyber threats.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
1. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 1/18
EXPERIMENT no. 5 and 6 [ R PROGRAMMING LANGUAGE ]
- Asst. Prof. Ashwini Mathur
Question 1. What happens when the following code is run? gender <- c("M" , "M" , "F" , "F" , "F" )
whereF<- (gender == "F" ) gender[whereF] <- "Female"
Question 2. In R, evaluate the expressions
2^52 + k – 2^52
2^53 + k – 2^53
2^54 + k – 2^54,
for the cases where k = 1, 2, 3, 4. Explain what you observe. What could be done to obtain results
in R which are mathematically correct?
Question 3. Construct the data frame char-num in the following way: char <- c("2" , "1" , "0" )
num<- 0:2 charnum<- data.frame(char, num);
Question 4. The following are a sample of observations on incoming solar radiation at a
greenhouse: 11.1 10.6 6.3 8.8 10.7 11.2 8.9 12.2
a. Assign the data to an object called solar.radiation.
b. Find the mean, median, range, and variance of the radiation o
bservations.
c. Add 10 to each observation of solar.radiation, and assign the
result to sr10. Find the mean, median, range, and va
riance of sr10. Which statistics change, and by how much?
d. Plot a histogram of the solar.radiation, sr10, and srm2.
Question 4. Modify the code to generate the Fibonacci sequence in the following ways.
1. Change the first two elements to 2 and 2.
2. Change the first two elements to 3 and 2.
Question 5. Use the inbuilt data car and uses the possible graphical plots using ggplot2 graphical
packages.
Question 1. What happens when the following code is run? gender <- c("M" , "M" , "F" , "F" , "F" )
whereF<- (gender == "F" ) gender[whereF] <- "Female"
In [45]:
'M' · 'M' · 'Female' · 'Female' · 'Female'
gender <- c("M" , "M" , "F" , "F" , "F" )
whereF <- (gender == "F" )
gender[whereF] <- "Female"
#Print gender
gender
2. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 2/18
Question 2. In R, evaluate the expressions
2^52 + k – 2^52
2^53 + k – 2^53
2^54 + k – 2^54,
for the cases where k = 1, 2, 3, 4. Explain what you observe. What could be done to obtain results
in R which are mathematically correct?
In [46]:
We are right at the borderline of accuracy for double precision foating point. The first expression
is done accurately, the other two suffer rounding error. The result would be correct if done in a
different order, e.g.
In [47]:
Question 2. Construct the data frame char-num in the following way: char <- c("2" , "1" , "0" )
num<- 0:2 charnum<- data.frame(char, num);
1 · 2 · 3 · 4
0 · 2 · 4 · 4
0 · 0 · 4 · 4
1 · 2 · 3 · 4
0 · 2 · 4 · 4
1 · 2 · 3 · 4
k <- 1:4
#1
2^52 + k - 2^52
#2
2^53 + k - 2^53
#3
2^54 + k - 2^54
2^52 - 2^52 + k
2^53 + k - 2^53
2^54 - 2^54 + k
3. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 3/18
In [48]:
Question 3. Modify the code to generate the Fibonacci sequence in the following ways.
1. Change the first two elements to 2 and 2.
2. Change the first two elements to 3 and 2.
In [49]:
2 · 1 · 0
Levels:
0 · 1 · 2
0 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0
2 · 2 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0 · 0
2 · 2 · 4 · 6 · 10 · 16 · 26 · 42 · 68 · 110 · 178 · 288
char <- c("2", "1", "0")
num <- 0:2
charnum <- data.frame(char, num)
#as.numeric(char)
charnum$char
charnum$num
# Implement the code to generate the Fibonacci sequence.
Fibonacci <- numeric(12)
Fibonacci
Fibonacci[1] <- 2
Fibonacci[2] <- 2
Fibonacci
for (i in 3:12) Fibonacci[i] <- Fibonacci[i-2] + Fibonacci[i-1]
Fibonacci
4. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 4/18
In [50]:
Question 4. The following are a sample of observations on incoming solar radiation at a
greenhouse:
11.1 10.6 6.3 8.8 10.7 11.2 8.9 12.2
a. Assign the data to an object called solar.radiation.
b. Find the mean, median, range, and variance of the radiation o
bservations.
c. Add 10 to each observation of solar.radiation, and assign the
result to sr10. Find the mean, median, range,and variance of sr10. W
hich statistics change, and by how much?
d. Plot a histogram of the solar.radiation, sr10, and srm2.
In [51]:
In [52]:
In [53]:
1 · 1 · 0 · -1 · -1 · 0 · 1 · 1 · 0 · -1 · -1 · 0
11.1 · 10.6 · 6.3 · 8.8 · 10.7 · 11.2 · 8.9 · 12.2
9.975
10.65
6.3 · 12.2
3.525
Fibonacci <- numeric(12)
Fibonacci[1] <- Fibonacci[2] <- 1
for (i in 3:12) Fibonacci[i] <- Fibonacci[i-1] - Fibonacci[i-2]
Fibonacci
# Assign the data to an object called solar.radiation.
solar.radiation <- c(11.1,10.6,6.3,8.8,10.7,11.2,8.9,12.2)
solar.radiation
#b. Find the mean, median, range, and variance of the radiation observations.
mean(solar.radiation)
median(solar.radiation)
range(solar.radiation)
var(solar.radiation)
5. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 5/18
In [54]:
19.975
20.65
16.3 · 22.2
3.525
#Add 10 to each observation of solar.radiation, and assign the result to sr10. F
sr10 <- solar.radiation + 10
mean(sr10)
median(sr10)
range(sr10)
var(sr10)
6. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 6/18
In [55]: #d. Plot a histogram of the solar.radiation, sr10.
hist(solar.radiation)
7. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 7/18
Question 5. Use the inbuilt data car and uses the possible graphical plots using ggplot2 graphical
packages.
In [56]:
In [57]:
data(mtcars)
?mtcars
9. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 9/18
In [59]:
In [60]:
In [61]:
In [62]:
mpg cyl disp hp drat wt qsec vs am gear carb
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
A data.frame: 6 × 11
mpg cyl disp hp drat wt qsec vs am gear carb
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.7 0 1 5 2
Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2
Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.5 0 1 5 4
Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.5 0 1 5 6
Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.6 0 1 5 8
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.6 1 1 4 2
11
32
32 · 11
tail(mtcars)
ncol(mtcars)
nrow(mtcars)
dim(mtcars)
library(ggplot2)
10. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 10/18
In [63]: my_plot = ggplot(mtcars,aes(x=cyl)) + geom_histogram(binwidth=0.4)
my_plot
11. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 11/18
aes = aesthetic here meaning a mapping between a variable and a characteristic of the plot
x relates to the x-axis (ie wt links to x)
In [64]:
labs adds labels to a plot
# using full ggplot syntax
ggplot(data = mtcars, aes(x = wt, y = mpg)) +
geom_point()
12. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 12/18
In [65]: my_plot + xlab('Miles per Gallon')+ylab('Number of Cars')
13. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 13/18
In [66]: #For changing the theme
my_plot + xlab('Miles per Gallon')+ylab('Number of Cars') + theme_dark()
14. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 14/18
In [67]: my_scatplot <- ggplot(mtcars,aes(x=wt,y=mpg)) + geom_point()
my_scatplot + xlab('Weight (x 1000lbs)') + ylab('Miles per Gallon')
15. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 15/18
In [68]: my_scatplot <- ggplot(mtcars,aes(x=wt,y=mpg,col=gear)) + geom_point()
my_scatplot + labs(x='Weight (x1000lbs)',y='Miles per Gallon',colour='Number of
16. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 16/18
In [69]: my_scatplot <- ggplot(mtcars,aes(x=wt,y=mpg,col=gear)) + geom_point()
my_scatplot + facet_grid(~gear)
17. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 17/18
In [70]:
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
my_scatplot <- ggplot(mtcars,aes(x=wt,y=mpg)) + geom_point()
my_scatplot + xlab('Weight (x 1000lbs)') + ylab('Miles per Gallon') + geom_smoot
18. 5/2/2020 Plots in built in R data [Experiment no. 5 and 6] - Jupyter Notebook
localhost:8888/notebooks/Desktop/Plots in built in R data %5BExperiment no. 5 and 6%5D.ipynb# 18/18