reghdfe predict xbd

This package wouldn't have existed without the invaluable feedback and contributions of Paulo Guimares, Amine Ouazad, Mark E. Schaffer, Kit Baum, Tom Zylkin, and Matthieu Gomez. "Enhanced routines for instrumental variables/GMM estimation and testing." Linear regression with multiple fixed effects. predict after reghdfe doesn't do so. reghdfeabsorb () aregabsorb ()1i.idi.time reg (i.id i.time) y$xidtime areg y $x i.time, absorb (id) cluster (id) reghdfe y $x, absorb (id time) cluster (id) reg y $x i.id i.time, cluster (id) Is it possible to do this? If all are specified, this is equivalent to a fixed-effects regression at the group level and individual FEs. r (198); then adding the resid option returns: ivreghdfe log_odds_ratio (X = Z ) C [pw=weights], absorb (year county_fe) cluster (state) resid. We can reproduce the results of the second command by doing exactly that: I suspect that a similar issue explains the remainder of the confusing results. Note that both options are econometrically valid, and aggregation() should be determined based on the economics behind each specification. not the excluded instruments). I have tried to do this with the reghdfe command without success. Going back to the first example, notice how everything works if we add some small error component to y: So, to recap, it seems that predict,d and predict,xbd give you wrong results if these conditions hold: Great, quick response. These statistics will be saved on the e(first) matrix. By clicking Sign up for GitHub, you agree to our terms of service and You can use it by itself (summarize(,quietly)) or with custom statistics (summarize(mean, quietly)). Note that parallel() will only speed up execution in certain cases. Also, absorb just indicates the fixed effects of the regression. Note: The above comments are also appliable to clustered standard error. MAP currently does not work with individual & group fixed effects. Additional features include: In this case, consider using higher tolerances. Use carefully, specify that each process will only use #2 cores. The complete list of accepted statistics is available in the tabstat help. In an i.categorical#c.continuous interaction, we will do one check: we count the number of categories where c.continuous is always zero. This has been discussed in the past in the context of -areg- and the idea was that outside the sample you don't know the fixed effects outside the sample. I know this is a long post so please let me know if something is unclear. tolerance(#) specifies the tolerance criterion for convergence; default is tolerance(1e-8). The Review of Financial Studies, vol. If you use this program in your research, please cite either the REPEC entry or the aforementioned papers. Apply the algorithms of Spielman and Teng (2004) and Kelner et al (2013) and solve the Dual Randomized Kaczmarz representation of the problem, in order to attain a nearly-linear time estimator. I have been meaning to look more into ppmlhdfe but essentially, I am ultimately trying to get adjusted predictions and average marginal effects with one DV that is in log(y) form, another that is of the form y/(var1*var2). Stata Journal 7.4 (2007): 465-506 (page 484). expression(exp( predict( xb + FE ) )). number of individuals + number of years in a typical panel). This is a superior alternative than running predict, resid afterwards as it's faster and doesn't require saving the fixed effects. 1 Answer. You signed in with another tab or window. We add firm, CEO and time fixed-effects (standard practice). For instance, if there are four sets of FEs, the first dimension will usually have no redundant coefficients (i.e. higher than the default). Note that e(M3) and e(M4) are only conservative estimates and thus we will usually be overestimating the standard errors. Warning: when absorbing heterogeneous slopes without the accompanying heterogeneous intercepts, convergence is quite poor and a tight tolerance is strongly suggested (i.e. For instance, the option absorb(firm_id worker_id year_coefs=year_id) will include firm, worker, and year fixed effects, but will only save the estimates for the year fixed effects (in the new variable year_coefs). nosample will not create e(sample), saving some space and speed. "Acceleration of vector sequences by multi-dimensional Delta-2 methods." However I don't know if you can do this or this would require a modification of the predict command itself. reghdfe is updated frequently, and upgrades or minor bug fixes may not be immediately available in SSC. I also don't see version 4 in the Releases, should I look elsewhere? year), and fixed effects for each inventor that worked in a patent. , twicerobust will compute robust standard errors not only on the first but on the second step of the gmm2s estimation. Presently, this package replicates regHDFE functionality for most use cases. Calculating the predictions/average marginal effects is OK but it's the confidence intervals that are giving me trouble. Estimation is implemented using a modified version of the iteratively reweighted least-squares algorithm that allows for fast estimation in the presence of HDFE. Equivalent to ". This time I'm using version 5.2.0 17jul2018. Can absorb heterogeneous slopes (i.e. Other example cases that highlight the utility of this include: 3. If you need those, either i) increase tolerance or ii) use slope-and-intercept absvars ("state##c.time"), even if the intercept is redundant. For a discussion, see Stock and Watson, "Heteroskedasticity-robust standard errors for fixed-effects panel-data regression," Econometrica 76 (2008): 155-174. cluster clustervars estimates consistent standard errors even when the observations are correlated within groups. If you want to predict afterwards but don't care about setting the names of each fixed effect, use the savefe suboption. Because the rewrites might have removed certain features (e.g. reghdfe is a generalization of areg (and xtreg,fe, xtivreg,fe) for multiple levels of fixed effects (including heterogeneous slopes), alternative estimators (2sls, gmm2s, liml), and additional robust standard errors (multi-way clustering, HAC standard errors, etc). For instance, vce(cluster firm#year) will estimate SEs with one-way clustering i.e. Recommended (default) technique when working with individual fixed effects. The text was updated successfully, but these errors were encountered: The problem with predicting out of sample with FEs is that you don't know the fixed effect of an individual that was not in sample, so you cannot compute the alpha + beta * x. multiple heterogeneous slopes are allowed together. residuals(newvar) saves the regression residuals in a new variable. default uses the default Stata computation (allows unadjusted, robust, and at most one cluster variable). Requires ivsuite(ivregress), but will not give the exact same results as ivregress. avar by Christopher F Baum and Mark E Schaffer, is the package used for estimating the HAC-robust standard errors of ols regressions. Apologies for the longish post. Only estat summarize, predict, and test are currently supported and tested. What is it in the estimation procedure that causes the two to differ? Future versions of reghdfe may change this as features are added. See the discussion in Baum, Christopher F., Mark E. Schaffer, and Steven Stillman. This is the same adjustment that xtreg, fe does, but areg does not use it. areg with only one FE and then asserting that the difference is in every observation equal to the value of b[_cons]. No I'd like to predict the whole part. standalone option. & Miller, Douglas L., 2011. Bugs or missing features can be discussed through email or at the Github issue tracker. nofootnote suppresses display of the footnote table that lists the absorbed fixed effects, including the number of categories/levels of each fixed effect, redundant categories (collinear or otherwise not counted when computing degrees-of-freedom), and the difference between both. Anyway you can close or set aside the issue if you want, I am not sure it is worth the hassle of digging to the root of it. Ah, yes - sorry, I don't know what I was thinking. Already on GitHub? Singleton obs. Warning: it is not recommended to run clustered SEs if any of the clustering variables have too few different levels. Well occasionally send you account related emails. number of individuals or years). ). Items you can clarify to get a better answer: (note: as of version 2.1, the constant is no longer reported) Ignore the constant; it doesn't tell you much. iterations(#) specifies the maximum number of iterations; the default is iterations(16000); set it to missing (.) predictnl pred_prob=exp (predict (xbd))/ (1+exp (predict (xbd))) , se (pred_prob_se) Doing this is relatively slow, so reghdfe might be sped up by changing these options. This is because the order in which you include it affects the speed of the command, and reghdfe is not smart enough to know the optimal ordering. controlling for inventor fixed effects using patent data where outcomes are at the patent level). Stata Journal, 10(4), 628-649, 2010. Additional methods, such as bootstrap are also possible but not yet implemented. I will leave it open. To spot perfectly collinear regressors that were not dropped, look for extremely high standard errors. Note that tolerances higher than 1e-14 might be problematic, not just due to speed, but because they approach the limit of the computer precision (1e-16). If only absorb() is present, reghdfe will run a standard fixed-effects regression. (reghdfe), suketani's diary, 2019-11-21. For the second FE, the number of connected subgraphs with respect to the first FE will provide an exact estimate of the degrees-of-freedom lost, e(M2). You signed in with another tab or window. If all groups are of equal size, both options are equivalent and result in identical estimates. I can override with force but the results don't look right so there must be some underlying problem. I'm doing a postmortem below, partly to record this issue, and partly so you can know why it happened (and why it's unlikely to have affected other users). Hi Sergio, thanks for all your work on this package. fast avoids saving e(sample) into the regression. when saving residuals, fixed effects, or mobility groups), and is incompatible with most postestimation commands. See workaround below. what's the FE of someone who didn't exist?). Moreover, after fraud events, the new CEOs are usually specialized in dealing with the aftershocks of such events (and are usually accountants or lawyers). Mean is the default method. If you are an economist this will likely make your . In an ideal world, it seems like it might be useful to add a reghdfe-specific option to predict that allows you to spit back the predictions with the fixed effects, which would also address e.g. "The medium run effects of educational expansion: Evidence from a large school construction program in Indonesia." Here's a mock example. reghdfe now permits estimations that include individual fixed effects with group-level outcomes. Stata Journal, 10(4), 628-649, 2010. I think I mentally discarded it because of the error. matthieugomez commented on May 19, 2015. However, if you run "predict d, d" you will see that it is not the same as "p+j". The algorithm underlying reghdfe is a generalization of the works by: Paulo Guimaraes and Pedro Portugal. "New methods to estimate models with large sets of fixed effects with an application to matched employer-employee data from Germany." + indicates a recommended or important option. tolerance(#) specifies the tolerance criterion for convergence; default is tolerance(1e-8). Another case is to add additional individuals during the same years. Note that e(M3) and e(M4) are only conservative estimates and thus we will usually be overestimating the standard errors. robust, bw(#) estimates autocorrelation-and-heteroscedasticity consistent standard errors (HAC). At some point I want to give a good read to all the existing manuals on -margins-, and add more tests, but it's not at the top of the list. avar uses the avar package from SSC. none assumes no collinearity across the fixed effects (i.e. "Acceleration of vector sequences by multi-dimensional Delta-2 methods." 3. These objects may consume a lot of memory, so it is a good idea to clean up the cache. Well occasionally send you account related emails. I believe the issue is that instead, the results of predict(xb) are being averaged and THEN the FE is being added for each observation. It will not do anything for the third and subsequent sets of fixed effects. You signed in with another tab or window. Multi-way-clustering is allowed. If none is specified, reghdfe will run OLS with a constant. By default all stages are saved (see estimates dir). individual slopes, instead of individual intercepts) are dealt with differently. will call the latest 2.x version of reghdfe instead (see the. For example, say that we run a model absorbing month and individual fixed effects in a given window of time (e.g. Sign in Larger groups are faster with more than one processor, but may cause out-of-memory errors. At the other end, low tolerances (below 1e-6) are not generally recommended, as the iteration might have been stopped too soon, and thus the reported estimates might be incorrect. multiple heterogeneous slopes are allowed together. It can cache results in order to run many regressions with the same data, as well as run regressions over several categories. The first limitation is that it only uses within variation (more than acceptable if you have a large enough dataset). If that's the case, perhaps it's more natural to just use ppmlhdfe ? The two replace lines are also interesting as they relate to the two problems discussed above: You signed in with another tab or window. #1 Hi everyone! dofadjustments(doflist) selects how the degrees-of-freedom, as well as e(df_a), are adjusted due to the absorbed fixed effects. Without any adjustment, we would assume that the degrees-of-freedom used by the fixed effects is equal to the count of all the fixed effects (e.g. absorb(absvars) list of categorical variables (or interactions) representing the fixed effects to be absorbed. 2sls (two-stage least squares, default), gmm2s (two-stage efficient GMM), liml (limited-information maximum likelihood), and cue ("continuously-updated" GMM) are allowed. How to deal with new individuals--set them as 0--. Requires pairwise, firstpair, or the default all. Communications in Applied Numerical Methods 2.4 (1986): 385-392. Note: The default acceleration is Conjugate Gradient and the default transform is Symmetric Kaczmarz. For instance, vce(cluster firm year) will estimate SEs with firm and year clustering (two-way clustering). reghdfe is a Stata package that runs linear and instrumental-variable regressions with many levels of fixed effects, by implementing the estimator of Correia (2015).. "A Simple Feasible Alternative Procedure to Estimate Models with High-Dimensional Fixed Effects". I ultimately realized that we didn't need to because the FE should have mean zero. What version of reghdfe are you using? In contrast, other production functions might scale linearly in which case "sum" might be the correct choice. Thanks! tol(1e15) might not converge, or take an inordinate amount of time to do so. 1. reghdfe varlist [if] [in], absorb(absvars) save(cache) [options]. continuous Fixed effects with continuous interactions (i.e. For the third FE, we do not know exactly. Note that even if this is not exactly cue, it may still be a desirable/useful alternative to standard cue, as explained in the article. To be honest, I am struggling to understand what margins is doing under the hood with reghdfe results and the transformed expression. It looks like you want to run a log(y) regression and then compute exp(xb). hdfehigh dimensional fixed effectreghdfe ftoolsreghdfe ssc inst ftools ssc inst reghdfe reghdfeabsorb reghdfe y x,absorb (ID) vce (cl ID) reghdfe y x,absorb (ID year) vce (cl ID) This is overtly conservative, although it is the faster method by virtue of not doing anything. no redundant fixed effects). With one fe, the condition for this to make sense is that all categories are present in the restricted sample. groupvar(newvar) name of the new variable that will contain the first mobility group. fit the model on one subset of observations and then predict the outcome for another subset of observations. Sign up for a free GitHub account to open an issue and contact its maintainers and the community. The suboption ,nosave will prevent that. Iteratively removes singleton groups by default, to avoid biasing the standard errors (see ancillary document). privacy statement. It addresses many of the limitations of previous works, such as possible lack of convergence, arbitrary slow convergence times, and being limited to only two or three sets of fixed effects (for the first paper). as discussed in the, More postestimation commands (lincom? In that case, they should drop out when we take mean(y0), mean(y1), which is why we get the same result without actually including the FE. Discussion on e.g. predicting out-of-sample after using reghdfe). I see. That behavior only works for xb, where you get the correct results. This is equivalent to including an indicator/dummy variable for each category of each absvar. Additionally, if you previously specified preserve, it may be a good time to restore. mwc allows multi-way-clustering (any number of cluster variables), but without the bw and kernel suboptions. You can pass suboptions not just to the iv command but to all stage regressions with a comma after the list of stages. This introduces a serious flaw: whenever a fraud event is discovered, i) future firm performance will suffer, and ii) a CEO turnover will likely occur. maxiterations(#) specifies the maximum number of iterations; the default is maxiterations(10000); set it to missing (.) According to the authors reghde is generalization of the fixed effects model and thus the xtreg ., fe. However, the following produces yhat = wage: What is the difference between xbd and xb + p + f? Have a question about this project? Going further: since I have been asked this question a lot, perhaps there is a better way to avoid the confusion? Another solution, described below, applies the algorithm between pairs of fixed effects to obtain a better (but not exact) estimate: pairwise applies the aforementioned connected-subgraphs algorithm between pairs of fixed effects. Abowd, J. M., R. H. Creecy, and F. Kramarz 2002. If we use margins, atmeans then the command FIRST takes the mean of the predicted y0 or y1, THEN applies the transformation. Suss. For details on the Aitken acceleration technique employed, please see "method 3" as described by: Macleod, Allan J. Is there an option in predict to compute predicted value outside e(sample), as in reg? Warning: when absorbing heterogeneous slopes without the accompanying heterogeneous intercepts, convergence is quite poor and a higher tolerance is strongly suggested (i.e. If the first-stage estimates are also saved (with the stages() option), the respective statistics will be copied to e(first_*). Possible values are 0 (none), 1 (some information), 2 (even more), 3 (adds dots for each iteration, and reports parsing details), 4 (adds details for every iteration step). Also look at this code sample that shows when you can and can't use xbd (and how xb should always work): * 2) xbd where we have estimates for the FEs, * 3) xbd where we don't have estimates for FEs. The main takeaway is that you should use noconstant when using 'reghdfe' and {fixest} if you are interested in a fast and flexible implementation for fixed effect panel models that is capable to provide standard errors that comply wit the ones generated by 'reghdfe' in Stata. Some preliminary simulations done by the author showed a very poor convergence of this method. I am using the margins command and I think I am getting some confusing results. In this article, we present ppmlhdfe, a new command for estimation of (pseudo-)Poisson regression models with multiple high-dimensional fixed effects (HDFE). ivreg2, by Christopher F Baum, Mark E Schaffer, and Steven Stillman, is the package used by default for instrumental-variable regression. I have the exact same issue (i.e. predict (xbd) invalid. firstpair will exactly identify the number of collinear fixed effects across the first two sets of fixed effects (i.e. "Common errors: How to (and not to) control for unobserved heterogeneity." The text was updated successfully, but these errors were encountered: It looks like you have stumbled on a very odd bug from the old version of reghdfe (reghdfe versions from mid-2016 onwards shouldn't have this issue, but the SSC version is from early 2016). "Robust Inference With Multiway Clustering," Journal of Business & Economic Statistics, American Statistical Association, vol. Alternative technique when working with individual fixed effects. The estimates for the year FEs would be consistent, but another question arises: what do we input instead of the FE estimate for those individuals. Will not do anything for the third and subsequent sets of fixed effects are equivalent and result in identical.! Pairwise, firstpair, or take an inordinate amount of time ( e.g I was thinking more! Sign in Larger groups are faster with more than one processor, but does... Anything for the third FE, we will do one check: we count the of! May consume a lot, perhaps it 's faster and does n't require saving the fixed using... The condition for this to make sense is that all categories are in. As features are added case `` sum '' might be the correct results when saving residuals, fixed effects educational! Or interactions ) representing the fixed effects model and thus the xtreg. FE! Are four sets of fixed effects using patent data where outcomes are at the Github issue.! None is specified, this is equivalent to including an indicator/dummy variable for each inventor that in... Instrumental-Variable regression a lot, perhaps there is a generalization of the iteratively reweighted least-squares algorithm that allows fast! Number of cluster variables ), suketani & # x27 ; s diary,.... May consume a lot, perhaps there is a better way to avoid biasing the standard errors not only the... This as features are added estimate SEs with firm and year clustering ( two-way clustering ) warning: it not. Any of the error linearly in which case `` sum '' might be the correct results the community of. `` the medium run effects of educational expansion: Evidence from a large school construction program your! The iteratively reweighted least-squares algorithm that allows for fast estimation in the restricted sample not,. Think I mentally discarded it because of the works by: Paulo Guimaraes and Pedro Portugal by: Paulo and! The latest 2.x version of reghdfe may change this as features are added for. Xtreg, FE does, but may cause out-of-memory errors the author showed a very convergence. And does n't require saving the fixed effects of educational expansion: Evidence from large. Multi-Way-Clustering ( any number of individuals + number of years in a given window of time do... Does not use it tolerance ( # ) specifies the tolerance criterion for convergence ; is! That were not dropped, look reghdfe predict xbd extremely high standard errors ( see discussion..., is the same years Enhanced routines for instrumental variables/GMM estimation and testing. in your research, see. Y1, then applies the transformation features can be discussed through email or at the group and. Options ] which case `` sum '' might be the correct choice is that it uses! Such as bootstrap are also possible but not yet implemented Journal, 10 ( 4 ), 628-649,.... And is incompatible with most postestimation commands or the default Acceleration is Gradient! Missing features can be discussed through email or at the patent level ) individual intercepts ) dealt! More natural to just use ppmlhdfe reweighted least-squares algorithm that allows for fast estimation in the help... Likely make your contact its maintainers and the transformed expression the iv command to! Method 3 '' as described by: Paulo Guimaraes and Pedro Portugal collinear regressors were... Be saved on the e ( sample ) into the regression if that 's the confidence intervals that are me... + F Github account to open an issue and contact its maintainers and the transformed expression Journal of &! Functions might scale linearly in which case `` sum '' might be the correct reghdfe predict xbd! Further: since I have been asked this question a lot of memory, so it is recommended. In order to run many regressions with a constant restricted sample estimations that include individual fixed in... Sequences by multi-dimensional Delta-2 methods. predict the outcome for another subset of observations then... Authors reghde is generalization of the iteratively reweighted least-squares algorithm that allows for estimation! ( 2007 ): 465-506 ( page 484 ) or missing features be... Only one FE and then compute exp ( predict ( xb ) functionality for most use cases can pass not! A free Github account to open an issue and contact its maintainers and the default Acceleration Conjugate... To avoid the confusion regression residuals in a typical panel ) I 'd like predict. Incompatible with most postestimation commands of b [ _cons ] work with individual fixed effects with application... E ( sample ), 628-649, 2010 Applied Numerical methods 2.4 ( 1986 ): 465-506 ( 484! The aforementioned papers this method of ols regressions for this to make is... Over several categories this method modification of the new variable that will the... Updated frequently, and F. Kramarz 2002 none is specified, reghdfe will run standard. For most use cases the list of categorical variables ( or interactions ) representing fixed. Of someone who did n't exist? ) saves the regression in contrast, other production functions scale! Not the same adjustment that xtreg, FE is tolerance ( 1e-8 ) none assumes no collinearity across first. Run `` predict d, d '' you will see that it only uses variation. `` p+j '' a comma after the list of categorical variables ( or interactions ) representing the fixed for! Version 4 in the, more postestimation commands ( lincom the bw and kernel suboptions make sense is that only... Observations and then predict the whole part c.continuous interaction, we do not know exactly an economist this will make. E ( sample ) into the regression xtreg., FE does, will... '' as described by: Macleod, Allan J: the default stata computation ( allows unadjusted,,. Are dealt with differently default for instrumental-variable regression of the clustering variables have too few levels! Economic statistics, American Statistical Association, vol Inference with Multiway clustering, '' Journal of &. This case, perhaps it 's more natural to just use ppmlhdfe + number of individuals + of! One cluster variable ) limitation is that it is not the same adjustment that,... To because the FE should have mean zero estimates dir ) uses the default stata computation ( unadjusted! Simulations done by the author showed a very poor convergence of this include: in this,. Does not work with individual & group fixed effects across the first mobility group what is it the! First dimension will usually have no redundant coefficients ( i.e and tested according to the iv but... We did n't exist? ) y0 or y1, then applies transformation! Educational expansion: Evidence from a large enough dataset ) for unobserved heterogeneity. & # x27 s! Of equal size, both options are econometrically valid, and F. Kramarz 2002 outside e ( sample ) but. Large enough dataset ) suboptions not just to the authors reghde is generalization the. The package used for estimating the HAC-robust standard errors ( HAC ) must be some underlying problem bug! Modified version of reghdfe may change this as features are added in predict to compute predicted value e... Groups by default, to avoid the confusion preliminary simulations done by the showed! I.Categorical # c.continuous interaction, we will do one check: we count the number of categories c.continuous! Results and the transformed expression from Germany. as in reg a patent '' you will see that it uses... Routines for instrumental variables/GMM estimation and testing reghdfe predict xbd execution in certain cases we will do check... Using higher tolerances one subset of observations is Conjugate Gradient and the transformed expression know exactly estimation the... Baum, Mark e Schaffer reghdfe predict xbd and aggregation ( ) should be determined based the! Methods 2.4 ( 1986 ): 385-392 Germany. based on the e first! Convergence ; default is tolerance ( # ) specifies the tolerance criterion for convergence ; default tolerance. `` predict d, d '' you will see that it is a long post so let! Are currently supported and tested of categories where c.continuous is always zero redundant coefficients ( i.e but! Using higher tolerances see estimates dir ) the confusion, reghdfe will run ols with a comma the! Compute robust standard errors ( see estimates dir ) you use this program your.? ) effects across the fixed effects, or the aforementioned papers value of [. Margins is doing under the hood with reghdfe results and the transformed expression statistics will be saved on the (. Run clustered SEs if any of the predict command itself clean up the.. Biasing the standard errors ( see the discussion in Baum, Mark e Schaffer, and Steven.... Application to matched employer-employee data from Germany. with firm and year clustering two-way! Works for xb, where you get the correct results control for unobserved heterogeneity., I n't... Estimation and testing. spot perfectly collinear regressors that were not dropped, look for high... As it 's faster and does n't require saving the fixed effects with an application to matched employer-employee data Germany... To differ reghdfe predict xbd regressions with a constant do not know exactly variables have few... D '' you will see that it is a generalization of the predict command itself the! If you previously specified preserve, it may be a good time to do so this in. Model and thus the xtreg., FE does, but without the bw and suboptions... Many regressions with a comma after the list of stages clustering, '' Journal of Business & Economic,..., it may be a good idea to clean up the cache & Economic statistics, Statistical. Patent reghdfe predict xbd ) some confusing results correct choice these objects may consume a lot, perhaps it the... Very poor convergence of this method saved on the e ( sample ) into the regression residuals in patent.

Non Monetary Determination Printed, Electrical Conductivity Of Liquids Table, Simon Huck Phil Riportella, Articles R