R Programming for Beginners | Complete Tutorial | R & RStudio

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hours a great language to start programming it is full of functions and full of feature that will get you very far you're not gonna be limited in our but it's also easy to learn for beginners it is a language that is built by people for people that are not colder that is not their job to professionally code and develop software's we know when we build our that it is not going to be used by experts art is often used by researchers because it is easy to use it's just a few simple functions that they have to put one after the other they can do very powerful things with it the most advanced statistics being written into simple functions in our by the researchers themselves that just discover and build and design those statistics you will have very advanced libraries to make graphs that in the end they are just one simple function calls are as also a lot of written tutorial that are very good for beginners and that are very good for non coder the community around our is really about no learning from data doing things with data it is not expected that the person that will use our is an expert that said our is fully featured you can do the most advanced statistics with it the biggest organizations are doing their data science with it when I work with are I like to use it for its functions usually in our you're not wondering if the function has been written you're just wondering where it is because it has been written there there's a function to do everything in our and this makes prototyping and just developing or researching through your data are trying to understand your data or just doing anything that you're not sure where you're going are is really a quick way to do it and it helps you really manipulate think quickly and look at things quickly so once you installed our and our studio you can first open our click on your shortcut if you're on windows are open it like you would open any software in my case I open it in the terminal to show you the most that the purest way the purest are are in this case is just an interpreter an interpreter interprets the language and so it takes in what you give it in a certain way and then it knows what to do with it so you can see here the our version is 3.6 and our as always a little funny name associated with each version in this case it's action of the toes if you know nothing about programming if you've never done any coding you can think of the our interpreter as being calculator so let's try it you'll see that if I do one plus two equal three five times ten equal 50 and to get the results I press ENTER once I've written what I want and so here it just acts as a calculator the reason why it's useful is that it's much more than that and the much more is basically just function a function is just a name like ABS in this case for absolute value followed by parentheses and then let's say minus 1 enter and I get the absolute value of minus 1 so this is a function it's a it's some of these simplest functions you could have a function takes an input and gives you an output and in between it applies a recipe it always applies the same recipe you can change the input and it will apply the recipe to this different input and give you the different corresponding output so in this case absolute value the function abs takes a number a - not a number with a negative or just a positive number and transform that into a positive number and so we see that ABS minus 5 equal - equal equal 5 or abs 6 equals 6 because it's the absolute value of 6 is 6 so our it's a language it's a set of grammar syntax and spelling rules and those rules they can be written into a computer program or they could be just talk to another human and then the human could decode what you're trying to tell it using the of the our language in the case of our those rules have been written into what we call an interpreter that will take your syntax your grammar and your spelling and it will interpret it and that's why it's called an interpreter let's say that we want to plot something our comes with function to make graphics and so we can just call the function plot and give it one for the excesses and give it one for the y-axis if I do enter you see that the blood will appear in this case it appeared on my other screen and so I just drag it here I could also make a histogram so I can have the function called kissed and then enter and I get an Instagram in this case it's just one big bend so now you're probably wondering how do I know these things and how do I learn these things what if I don't know all the name of all functions there is two ways that you can ask for help in our and the help is integrated into the console or what we also call the interpreter by using the question mark you can get help let's say that I want to know how do I have to use ABS the function for absolute value I will type the question mark ABS and then I do enter and so you can see on the top it tells me that it comes from the package based later in the video I will explain what a package is then it describes it it says that ABS will take an X and will compute the absolute value of x and then it shows you some example of how to use it it will later tell you which arguments it takes an argument I will also explain later in the video what it is it gives you some details and it even often an R gives you some reference to the scientific literature that are either developing the strategy to write those function to be computation alee efficient or that are actually developing those statistics if you want to leave this help you just press Q the other way to call this help is by writing the function help on the variable on the word abs enter and you see here it shows me the same thing the other nice thing to learn how to use a function is to use the function example if I take example around abs it actually generates and type some code for me and in this case it returned some plot and it waits for me to hit enter to finish so I hit enter and you see now that it generated a plot I could have generated this plot myself if I typed the line that were typed above the last feature of the base are the base console that I will show you is the up arrow if you use the arrow if you press on the arrow that goes up you can go back to all the previous lines of codes that you type so if you like you typed a line of code maybe 10 lines above you're like oh it was long to type I don't want to retype it or I don't remember and I don't want to scroll then you can use your arrows to navigate through the history of the code that you gave to the console this is nice this gives us some power we can give numbers to function we can use the help and we can type it but what if we want to write a whole script like a series of steps and that want to run all those steps we're not always gonna go and type them in so one thing we can use is a source a script so we can use a source file and our source file is just a normal text file in which we write some our code but what happens if I have a feeling it's called one way or another but I am Not sure it would belong to always use the help and the question mark and that's where an a text editor like a development environment like our studio that's when it comes to be useful our studio would autocomplete what you type so that means that you can start to type the name of a function and it will complete it of course when you don't know it at all you will often need to go online and search for it but there's a lot of help online and I'll link some resources down below so that's why we will now switch to our studio when you open our studio this is what you have in front of you in your case it might be black and white this is just because I put a theme on mine but otherwise everything should be quite similar you see here in our studio on the Left panel you see that you have the same thing as what we had before what we were calling the interpreter and you actually see here in the tab name on the top left it's called the console so this would act and be the exact same thing as what we had before everything that is typed here will do exactly the same thing as everything we typed in the previous console the previous interpreter that we have the first thing we do when we are in our studio is that we open a script or it's also often called a source file to open the script you will click on the top left here and choose an R script when you click on the script it appears here on the top left you see now it's untitled and so we will just save it somewhere so I'll do ctrl s or you can do file save save as so the script or the source file in the left for the computer it's just a normal text file you could open notepad and write the exact same code in notepad and save it with a dot R and come here in our studio and open it and it would be the exact same thing it would be read the exact same way and it would work on the top left here we have the script in this script we can type anything that we typed in the console before but in this case it can be saved as a normal text file and when we do enter it will just skip to the next line it won't run it it won't be sent to the console to be evaluated for a code to be evaluated we need to do ctrl enter and then you see that in the console here below you see that 1 + 2 and it printed 3 but this doesn't save our results it doesn't save our work and we can't use the result of this computation further down in our code to save the computation or to save values we have to assign it to a variable to save the result of 1 + 2 in a variable we can use the equal sign and so here I can type 8 equal 1 + 2 and I can do enter and you see it was sent down below in the console and on the right now you see that the a is there in the panel called the environment we see that is a numeric value equal to 3 there are two ways to assign values are things to a variable in our you can use the equal sign or you can use the assignment operator which is the arrow and so if I do a are Row 1 plus 2 is still equal to 3 if I do a arrow 110 you see now here on the right that it's 110 our is not sensitive to space so you can just remove all space put lots of space but there is a style to which our programmers are used and often it's very close to there is a Google stylesheet online that will show this style we will put a link in the description below maybe the other thing about our is that our it's case sensitive so capital a arrow sign 110 or 110 is not the same thing as lowercase if you look here on the right we have the variable name capital a and we also have the variable name a is equal to 110 now and capital a is equal to 10 R will always overwrite its variable no matter what it is equal to ok so this is how we assign we can use the equal sign we can use the arrow space don't matter in R and R is case-sensitive now I'll show you the three basic data type plus one special one R as three data types the numeric values character values and logical values numeric values are numbers character values are anything that is text and logical values are true or false so the first data type that I'll show you are the numeric value and so I will write I will save this data type into a variable that I chose to call my numeric and let's say it's equal to 0.2 enter you see on the right it says it's numeric length 10.2 numeric values can be can have the same L points or they can be what is also called an integer and so that's without the decimal point I will then show you logical value so in our to type a logical value you will use either capital T capital F for true or false or capital true the whole world like that so you see here it says it's a type logical and it's true so here my logical one can be equal to false with capital F you see here that my logical one is equal to capital Fox okay the third one you're the last my character this is something that we can call with double quote and this is the text so my little story the single quotes also work to tell our that we are about to give it a character here okay so you see those are equivalent and our transforms it you see here it our studio uses the double quotes and the console also does that if I show my character too and I print it you see here in a console it has a double quote if you put a double quote inside of a single quote it works if you put a single quote instead of the double quote it's it also worked but if you put a double quote inside the double quotes then it will break it because it will are will think that you want to stop your string and then it won't know what to do with just one and so you see if I try to assign it it actually just done it so you see if I try to assign it it says unexpect that symbol blah blah blah so it has an error to avoid that if you really need to put a double quote into your character string you can do a backslash so the backslash will tell our that to avoid this special character and then it will just put it as a normal character then the fourth and kind of more special datatype are the factors they're used and they are seen as like the categorical variables that we would use when we do statistics or her glutes and they are basically text already can be number at that order seen as a category so if I do my factor it doesn't really make sense to make a factor of only one item but for the sake of the example here I will say it's say sex female and this would be a factor so I have to say that it's as factor so you see here on the right my factor it's a factor with one level with all those datatype where we can put a bunch of numerics together a bunch of characters together or we can make them up and when we do that we can do that we can we save that in a data type that we called the vector and so let's create a variable call back one and let's create a vector to create a vector you need the function C it's C for concatenate which means to put things together to one after the other and so let's say that I want to make a vector of numeric values I can do this like that and here on the right you see that it's an America flanked v and at the far right you have under the column value you have a sample of what this vector contains and you actually see that mine Americ the variable to which I gave the value 10 is the same type as vac 1 this is because in our the single values are actually vectors of length 1 back to let's make a vector of true and false I can mix the different ways that I use true and false I can use the short F and T or the long false and true I'd like to have values of the same length as the one above not because I need it to be that way but because I'll use it for example later on so now you see that I have written a logical vector of five elements let's make a vector of strings or of characters a b b my little story that you can even put it a number if it's between the double quotes it will see it as characters so control-enter you see vech vech 3 is a character vector of 6 element to make vector of factors i have to do as if i was writing a vector of character but I will put I will give all that to the function as factored so let's make vectors that are category that are sex so you see here it's saved as a character because I didn't do the as factor yet and now if I put as factor around it you see now that it's a factor with two levels there are the males in the female if you put different datatype together in one vector it will transform it following some certain rules so the first rule is that if you put only true and false together they will be true and false if you put true and false with numeric values the true and false will become numeric values and the true will be assigned a number the number one and the false would be equal to the number to the to zero if you put numeric or boolean values with characters everything will be transformed to characters so here I'll give you an example of this instance one true and B vector five you look on the right it's a character of three elements and if I print vector five you see that the all items have double quotes around it and it's because they were all transformed to character let's make the same example for a vector of one and true I reassign it to vector v which overwrite what we had previously and then you see that now vector v is equal to one and one because true was transformed to one so so far now we have seen vectors the vectors can be logical numeric characters or factors all of those can be given to another data type another object that it's called list the list can contain anything it can contain a function it can contain vectors it can contain another list and it can contain the data frame you will see just after the list what data frames are make a list you can use the function list with open and close the parentheses and within that you can give it you can give it actually the variable that we created before those would be a sign as elements to the list so let's say that I have vector 1 2 3 press ENTER and let's say that I save it to the variable my list you see here my list it's a list of 3 elements and if I click on the magnifying glass you it will open a little tab that will and the name of the tab would be the name of your variable and it shows that it's a list of 3 elements 1 2 3 the first item is a of type list the second is a type double which is a synonymous with numeric type logical true/false types character the other thing that you can see is that they are not of equal length those vector the third vector the character vector has sixth element while the other will have five elements you can give only vector of nine to one or just a number to a list or you can even give another list - a list let's say I will give this list of vector 1 2 3 to the big list and I will also give it a function the function mean and enter I over write it the previous version on my list and now if I go look at it you see that it's a list of six elements and the fifth one you can even open it because it's another list within that other list you have what our list contained before because that's what we assigned to it and so you see that the 6th element of our list is of type double and it's just equal to 10 and it's a vector of length 1 which is shown here by the number in the square brackets our next data types are data frames data frames are a subtype of list they are different in that the tag or in the name they have and function sometimes it will read the tag that a variable have to decide which code they will run on them and so by subtype I don't mean that they are the same thing but they are very similar and many functions if they don't know how to read a data frame they will just default to how they would read or work on the list so basically data frames are are lists with vectors of equal length if I create here data frame with back one back two and back three remember my vector three is of length 6 and the other one are earth length five it will tell me that it's not okay here the error in yellow it says that it implies different number of rows one is five and the other one six so I would remove back three and let's create a data frame with two columns here it worked you have the column would get the name of the variable by default and here so you have vector 1 and you have vector 2 but I can when I create a data frame I can choose to name my column if I wanted to claim my column a and B I would write it like that and you see here now the columns are named a and B I could use the long form of how I created my vectors and that would be equivalent and that would also create a div different you can see a dual data frame in our are often saved with the as DF the variable D F and so if I do ctrl enter on the right you see here that my variable DF is of type data frame length two that means two columns and it has five observations it has this little table the symbol here that you can click and it will open a tab and our studio will show you the content of that data frame to do that our studio is actually just running the function view with a capital V and so if you were to run the function view on your DF in the console below and press ENTER it would do the same thing so you see here that DF popped up one thing to keep in mind is that often characters and factors are not interpreted in the same way by the functions in R and that can cause some errors and so if ever you have a problem and you know why your code is not working one thing to check is whether your vectors are are in the way that they should be are they in characters already in factors depending on what you need there is another data type called matrix and so to make a matrix you can use the function matrix you can give it data and you give it a number of rows and the number of columns it has I have my vector three which is a vector that have 600 and I would use that to create a matrix of two rows and three columns if I do control-enter you see it down below it prints my character vector but this time in two dimensions in a matrix I can save it to the variable my matrix enter and you see it on the right that it is saved as matrix of six elements and if I click on the little button that we use also for the data frame we can see them as actually they are transformed to data frame to show it to do to you because the columns are named v1 v2 v3 and I believe that my matrix by default does not have those name exactly when you do call names which is a function in R on your matrix it will give you the names of the columns and it tells me it's not but here on the top you see v1 v2 v3 that was because our studio by default assigned some values to those columns because a data frame needs to have names on their columns while matrix don't need that let's get to indexing now so the first thing that we can index are the vectors vectors are in one dimension so you will index them in only one way it is with the square brackets like that so let's say that we want the second value of our vector to a four vector two which contains logical values between true or false say that I want the second one I do back to open square brackets put the position to close the square brackets and that will print or that will risk that will return the false value because you see that the second value here in two is F for false let's move all this indexing down in the console because I don't want to save that work this is just to show you what values are returned with different type of indexing R starts its indexing at one other computer languages can start at zero if I want the first value I say one and my vector3 let's look at vector three just by typing it all together it gets me this returns me this is six on you know are you have a special character which are the two points and two points like this one to six means that you want all the numbers between one and six so if I do enter enter in that it creates a vector of six element that are six numbers between one and six I can give that vector to my other vector that I want to subset that I want to get values out of and with that I get exactly the same vector because I wanted the first the second or third and there up to the sixth value if I do that but I actually put two four that will give me the first four values if I do minus 1 that will give me all the values except the first one those are the most common ways that you will subset and that we will get values out of a vector if I do one of one it returns one because one will be evaluated as a vector and then we ask to get the first value out of that vector of one element one if I do one if I do zero of one it returns nothing if I do of two it returns nothing because this vector contains only one value at position one so another way to subset or to get values out of a vector is to use vector of logical values so let's say that I wanted only the second value out of my back three I would create a vector of all false except with the treu at the second position and then I'll do false false false and I think this vector has six so this should give yet yeah so you see that it my second value was B and now I got a vector of length one with remember length vector of length 1 is equal to only one single value in R because everything there's no difference between one value and a vector of two of one two three four five just a vector of length one all vectors whether they are factor they are numeric they are logical they're characters they can all be indexed or get values out of them in this way if you have a list you can refer to subset lists let use my list so to remind you what we have it's a list of six elements the first three elements are Veck 1 2 3 then we have a vector of length 1 that is equal to 20 then we have a list of 3 elements that are the back 1 2 3 then we have the value 10 to subset or to get one element out of a list you can use the position number in the double square brackets so if I have my list total square brackets and I use position 1 I get my first vector and you see that this is a vector that is return so if I had used only single square brackets that will return a list of length 1 you see here you can see that by having the double square brackets 1 and then a single square bracket 1 telling you that it starts at position 1 so we want list with names we need to give names to our list so that we can filter and subset this list using the name first name let's give the name a 2 back one and maybe we can give the name back to two variable Vic - we could also write a name without their quotes and so I can say name without quotes equal in this case of less definition with names it will work then let's go with my number equal and maybe that's let's stop there and that give names to the rest let's go back down let's print the whole list writing the name so here you see that after the dollar sign you see the eight there is and then you see what the vector is equal to and then you see the dollar sign back to that means that it's that the name of this list has disposition is back - and then you see that I also wrote the name with names without quotes and it's there and then my name and then for the other ones you only see the position of that vector or of that that element in the list and this is because we did not give it a name if I do new names on the variable my list we see that it has a name a vector names without quote my number but it doesn't have names for the other ones to filter that list I can write its name and then use the dollar sign and you see that our studio will give you suggestions and basically it will suggest to you all the names and soul names without quote enter and I get the vector add this the vector that is assigned to this element of the list subsetting by position with the double square bracket still works so if I do my list three I get the exact same thing so it's just a handy way to access your data now let's move on to data frame and data frames they can be subsetted just like lists if we had defined the variable DF before so we had the column a and column B and so I can use DF dollar sign a and I get my vector at the position I can say D F double square brackets one and I get the first column to those square brackets two I get the second square the second column if I get a vector like that when when I use the double square brackets what is returning it is a vector so you see it is just a vector of numbers this is the column so then at this point of the ways that I have learned on how I can subset a vector works so I can then put square brackets after that and ask for 2 and I get asked for the element at the second position and I get if I get the element at the first position I get 23 that's a lot I can also get several values so you know I want the fourth and the fifth values and I get those you could also use the true and false and the last thing is to use single square brackets but then to use the same syntax that we would use on a matrix let's say that we were thinking of a data frame as just a two-dimensional array or two-dimensional matrix of values we could ask for the values at this first row second column and then we get true because this is what we have here in this de different if I want maybe all the values at the first row I can write one comma and then put nothing and then I'll get all the values on that rope if I want all the values on the first row on the third row and the fifth row I will give it a vector of positions and I will get those positions we can do the same with the column and so I can ask only all the values for the second column and this is exactly equivalent to calling it like this or calling it like that then the last data type that we had was matrix and our matrix in this case we called it my matrix like that here you even see the way that you can subset it or filter it it's it's the square brackets and then it tells you here the this if you write square brackets 1 comma square brackets you will have the first rope and just to prove it or illustrate it I will write 2 like that and we got B my little story in 20 so those are those are the way to index variables or to index data type now let's move on to functions how do you define a function and how do you use a function and how do you know how to use a function what to give to a function so first let's define a very simple function so we will call we will create a function that we will call my son or let's say new some just to show you that we can do other thing than my so new some function open and close the parentheses and then we will say value 1 and value to this these are the arguments to the function they are D the variable that we will use inside the function so the user of our function will give something at the first position and something at the second position when they do value in our code will be equivalent to what they put in those position and the code would be evaluated using those values so let's say that we do a new sum so we just want to have value 1 added to value 2 and we will return the results to the user and so basically this says create this function and assign it to the variable new son control-enter we created it now let's use it that's right new sum and then the first value I will put 10 and the second value I will put 20 I do enter and then I got the results it's 30 let's say that our value were not equivalent let's say that we were to do a division so let's call new division enter and then if we do new division then we divide the first value ten by the second value in this case let's go to 20 we will get 0.5 if I wanted to use this function but I wanted 10 to be the divider well I just write value to the name of the argument that was chosen by the function developer and then I can value 1 after that equal to 20 and so you will see the result that are not the same the results that is too because now value 2 was equal to 10 value 1 was equal to 20 but when I omit this equal R will take the order of the arguments and will assign it to the value and in turn and all arguments in a function have to be separated by a comma when developer developer package T or she has to document this function and so let's go for an example of documentation so let's look at the mean and then on the right here you can see that the mean will take an X and then it tells us that the X has to be an hour object it says that there are methods so there are ways to do the mean on numeric or logical vectors and it also says that there is a way to do a mean on date-date time and time interval objects so those are kind of special data types that you don't need to know right away and complex vectors are also allowed but this is also something that you will not use daily and use often so but the first part the first important part the way that you usually use a mean is with a numeric value and so it tells you that the mean will take a numeric vector let me that you can't put a list in the position of the X here or you can't put a dataframe otherwise it would break or if you put a character vector it will break and remember that when we have characters mixed up in a vector with the numeric it transforms everything into character so maybe you wrote a character and you want it to have null values and you put them into a double quotation if you look in the list of arguments just below the developer of this function tells us that the X should be an R object the methods that means that different types of code that can be given to this function or either numeric or logical vectors that means that if you give it a data frame or if you give it a list you will get an error this function can take also other arguments as you can see in the usage you can take trim or and they remove those are two more arguments trim can be a fraction they say in this case the person developing a package chooses what is written in this text so in this case the person did not tell us exactly what was a data type that trim could take they tell us that it can take value between 0 and 0.5 and so we can assume that is basically a numeric vector of length 1 trim has a default value and you can see that trim as a default value because in the usage section when you see the word trim it says trim equal to 0 so that means that trim would get the value 0 if you don't give it a value the same is true for any point remove which is the third argument of the function mean it is set equal to false and so if you don't give it anything the option any point remove or the argument any point remove is equal to false you can give it a logical value that will indicate that you want the N is to be ignored you will have references and the example as I shown before so this is how you can interpret a now you can read the our documentation keep in mind that functions of package are written by anybody that choose to write a package and so although they have to be documented the level or the how you decide to document it is up to that developer that might be a source of confusion for sometimes or that might explain sometimes that you don't quite understand the language so you have to keep in mind that it might be different people that write different functions and so you will have to interpret what they say in this context we have defined functions we have used functions and we have learned how to understand or ought to guess what is a function or what contains a function another way that can help you understand a function but this this might be when at a time where you get a bit more advanced a bit more used to R but it can also be a great source of learning because basically what I will show you is that if you just write the name of the function the name of the variable containing the function without the parentheses you will get the code of that function and so here in that case I wrote new division on my source script and then I press the control enter got my new division it was interpreted in the console and you see all the code that I have written to define this function by doing ctrl shift 1 or control shift 2 you can move between the source script or the console and this is why you see now that the window changing last thing you should know to be ready to go on your own and code and learn anything you want in R is a little crash course on packages packages has the name says it's it's a bundle it's a library so it's a collection of functions or even sometimes even the data packages can be developed by anybody anybody that starts to call some function and they put them together can package them and then if they are formatted in the proper way they can be submitted packages can be submitted to crong crong is the Canada website or the server that hosts all the packages and makes it possible for any user to install the packages within are one of the most popular package and R is the package ggplot2 and this package is we helpful to make graphs in our let's say that a friend told me about ggplot and so I want to use it one thing I can do is that I will go in my console well actually yeah it's better to write that in the consult and in the source file because you won't rerun it every time packages are installed once on your are and they only need to be reinstalled when you install the update are when you install a new version of art so let me go to my console and then so I would install and you see I start to write I would install our studios we just to me to use the function install point packages I will do that and then install point packages we'll take the name of the package in double quotes so as a character string and I know that the name of this package is ggplot2 press ENTER and then it will automatically get installed on my computer once this is done I can the only thing I have to do is that in my script in my code every time that I launch our studio I have to call the function library and then I have to give it the name of the package that you I would want to use and now I will have all the functions from ggplot2 available for me the main function is Gigi plucked and then that will take a data frame and it will take another function as an argument which R is for aesthetics my data frames I can give it just the name of the variables a and B and then I can do plus giome wine plus G own point control enter and you will see that I get a nice graphic a nice remember this data frame contain true and false and it had values between 0 and 23 points something so this is how to install and use a package if I know about my package and I know it contains some function but I'm not quite sure about about their name one useful trick in our studio is to type the name of your package and then put a 2 semicolon tab to start to search and maybe I you know I know ggplot has some giome and that let dictates which type of plot I want in ggplot and then I can look through it I have a list of all the functions that contains the abbreviation geo and then I can choose and that can remind me which function I'm looking for I will make another video on a very in-depth tutorial on GG plot the point here was not to show you GG plot that's why I went quickly through it it was just to show how to use a package so you can write library and then you can call all the functions within a package so that's it for today that's it for this video I showed you how to use our and what our was it's a language and it's also an interpreter I showed you that working in the console is doable but it's not the easiest way to learn the easiest way is to use the integrated development environment our studio I showed you the basic datatypes those were numeric character logical and factors I showed you that all those can be put together into vectors and vectors can be holded together and can be put together into less data frames or special types of lists and matrix are special types of vectors with more dimensions I showed you how to indexed and how to get values out of those data types I showed you how to use and write function I also explained how to install and work with packages I have not showed you this specific syntax for the different operators but this is something that is well documented in a nice cheat sheet and I will give you the link down below in the description on that I hope you liked this tutorial
Info
Channel: R Programming - DDS
Views: 303,531
Rating: undefined out of 5
Keywords: RStats, R programming, R programming tutorial, R tutorial, R introduction, RStudio, DDS, DDSR, r programming for beginners, rstudio for beginners
Id: BvKETZ6kr9Q
Channel Id: undefined
Length: 49min 44sec (2984 seconds)
Published: Sun Mar 15 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.