Wednesday, July 19, 2017

Blaming the victim, follow-up.

As expected, I was not the only one providing some push back to the Nature Jobs article I discussed previously. Together, they make reasonable suggestions, both towards the supervisor, and the university. The first one by D. A. McDonald acknowledges that supervisors should be open aware of all aspects of their graduate students' lives ("what they do when they are not in the lab"). The second one by D. Mehta and K. Vavitsas point out institutional resources that can help tackle one of the root problems ("providing more courses and resources to train principal investigators in management and leadership"). I wonder what the participation rate would be for UoG faculty if the university would offer these types of courses?

Tuesday, June 13, 2017

Problem in R: how to create a .Rprofile that does not hide important information ...

... but still is specific to each R script file. For instance, a lot of R users in our group load their packages at the top of their R scripts. Often, these packages are the same, but sometimes they add a different one for a specific type of analysis. I use the tidyverse all the time, and in some analyses vegan. A school of thought would be to automatically add these package to the start up using a .Rprofile file. Others would argue that this makes the code less reproducible, since some essential pieces of information are hidden from the R script file.

But what if you could have both? All the boilerplate stuff such as loading packages at the top of each R script file, but execute them automatically when you open that script file? I think I have found a solution to that mythical beast. I googled for it, but could not find anything similar, so that is why I provide my code here. Hopefully somebody else will find this useful, or point me to other, more elegant, solutions that I can incorporate in my own code.

How to create a generic but specific profile file that reads the beginning of each R file  

Copy this profile file either in your home directory or in each working directory. A quick google on .Rprofile and your OS will help you out for the advantages/disadvantages of these two approaches. However, I created this profile file to ensure that it will read all your script files within a folder, and execute them until it finds the line "# Startup ends here".

I assume that this will be mainly for loading libraries, so I specified the script to only read the first 30 lines, but you can increase/decrease this for your coding practices. I also made it recursive, so it will read all the script files within the folder structure, but you can change this too.

And I have also added some encouragement, that has the secondary objective that you can see if the .Rprofile code worked correctly.

You can find the code here on github: https://github.com/karl-cottenie/kc-.Rprofile

Snippet usage  

This works nicely with the new snippet I created. In RStudio > Preferences > code > Edit Snippets... copy the lines below, and save the updated snippets file.

snippet stup
##############################
## ${1:title}
 ##
## Karl Cottenie
##
`r paste("##", Sys.Date())`
##
##############################  
library(${2:package})
# Add as much code here that you want to execute each time your script file is loaded.  
# Startup ends here 

Now if you type "stup" at the beginning of a file, it will paste the above code, you can add the title of your script file, and when you press your tab key the cursor will jump to the library command, and you can for instance add tidyverse, or ggplot, or whatever you normally use. The snippet will automatically add the date, of course you can/should change the author :-)

Problems with my code, other options?  

Just let me know, because there are probably edge cases I did not think about, and more elegant solutions that I will not find on my own.

Friday, May 26, 2017

Blaming the victim?

In the previous 2 blog posts, I discussed some sobering figures on the graduate experience, and how this is probably (partially) related to the lack of advisor evaluation (and training?). And then I read this column from naturejobs.com "A growing phobia". The author, with "30-plus years as faculty member" experience, proposes his (I assume a white man wrote this) solution to a student's fear of interacting with their advisor:  
"But if you are the student, understand that these meetings benefit you, and that it is your responsibility — not your supervisor's — to set them up. You need to be able to organize your thoughts, rethink experiments, present experimental results and interpretations and consider your next steps. These skills will make supervisor meetings less frightening and more useful."
So no mention of how the advisor can help the graduate student with the underlying causes of this fear? Because there are some clues scattered throughout the blog post:

  • "The supervisor, with the best of intentions, provides constructive criticism"
  • "remarking on the slow progress of one PhD student's research project at our second review meeting"
  • "Three months later, I repeated my concerns"
  • " I was too busy to notice for another six months."
  • "I was horrified when my suggestion elicited tears."
  • "Ideally, your supervisor will be empathetic until you can acclimatize to feedback and criticism"
Maybe I am reading too much into these comments, but look at the accompanying artwork: towering, stern male figure vs cowering grad student. The student does not fear the criticism per se, but the supervisor.

And how can we (supervisors, advisors, professors) create an environment that does not create this fear? This recent article reports on a survey done in an undergrad setting, but the conclusions are equally applicable to graduate advising, I think. Some of the facilitators are difficult to change or impractical ("Professor has good personality", "Professor gives their phone number"), and some of the suggested facilitators are behaviours that are difficult to quantify or change, such as encouraging, caring, inviting and open, willing or eager to help. But some suggestions are very practical and, if grad student interactions are important to you, relatively easy to implement (I added the bold to certain words):

  • "Professor uses and answers email"
  • "Professor has many and flexible office hours"
  • "Professor has accessible office hours"
And doing these things would show the student that you care. When you are too busy to notice the absence of one of your own students for six months, maybe it is no wonder that a student does not feel important or valuable.

Tuesday, May 23, 2017

New lab member!


Welcome Jennifer Gleason! Jennifer recently finished her MSc with where she looked at aquatic macroinvertebrate community composition:
"The Northern Prairie Pothole Region (NPPR) of Alberta, Canada contains numerous shallow marshes that serve as important habitat for wildlife and provide many essential ecosystem services. Many of these pothole wetlands have been destroyed or degraded by agricultural activity, prompting research into their condition and management. Aquatic macroinvertebrates are frequently used as indicators of environmental condition in rivers and lakes, but their effectiveness as indicators in prairie pothole marshes is not clear. I discovered that, contrary to my predictions, macroinvertebrate richness and community composition at family-level resolution do not respond to land use. Instead, macroinvertebrate community composition in pothole marshes is structured primarily by hydroperiod, which ranges from temporary, through seasonal and semi-permanent, to permanent marsh classes."
 After her undergrad degree, she worked at BIO, and for her PhD she will combine both expertises (molecular identification and macroinvertebrate community composition) to investigate anthropogenic influences at the landscape scale. Very exciting!

Tuesday, May 16, 2017

Joining the modern scientific conversation

I am slowly finding my way through the mystery that is twitter. The interface seems so inaccessible to me, everything so tightly bunched up, with lots of symbols, and  secret conventions that are almost Dan Brown masonic in nature. If you need to google how to interact with twitter and find articles like this, either I am getting old or the organic development of twitter needs a redesign/reboot (or both).

But more and more people are using it in a science context, so I feel the need to get on the bandwagon, or at least know where the bandwagon is going, and how to get on and off quickly. So I decided to highlight 5 tweets that got my attention, where insightful, or captured some poignant moment from the CSEE meeting.
Carolyn's tweet is especially funny, because if you look closely, you can see Bob Holt, one of the founding fathers of spatial ecology, looking in from the outside ;-)


Anne Salomon's public talking skills are summarized in this one picture from her presentation.

Isabelle Côté's introduction was in rhyme, a first for me and a lot of CSEE members I think!

(Mild?) Frustration in less than 140 characters.

Another UoG grad student influencing society beyond science.

Wednesday, May 3, 2017

Students learn the most from each other

This is something we have known for the last 10 years (or 20) through for instance the research done by Eric Mazur and collaborators. They showed that using peer instruction improved student learning of physics concepts by 20% in a real-world, class setting, compared to a "regular" lecture-based approach with the sage on the stage imparting their wisdom to the young susceptible minds!
That is a fine example of a very deliberate teaching practice. Sometimes the learning is much more ... unexpected. In Winter 2017, I organized a graduate course called "Ecological statistics through time" that was mainly student taught, by design. I will devote some blog posts on some of these experiences, but one of the fun outcomes was something I did not (could not) anticipate.

The students in the course had a wide range of experience with R, from 3+ years of daily coding for a MSc degree to just one undergrad intro stats course. This made teaching R a challenge, because I had to constantly try and accommodate these extremes (with varying levels of success probably). But the advantage was that I had plenty of best practice examples that did not come from me, but from their peers. For instance, I have collected and created some best practice documents for R coding in the Resource page on my website.

But what is not on this page, and what a lot of students had fun with for their final reproducible coding assignment, was something that they learned from Joey. He and Sharon posted some R code for their discussion, and it had this header:

And this style showed up in some modesty in their peers' code: 

But some also went to town with this idea, and went beyond expectations:


And it is hard to pick the best one, but this is one of my favourites:

 Awesome.

Wednesday, April 26, 2017

The thorny subject of assessing graduate advisors

One of the most satisfying aspects of graduate school is working together with graduate students to solve fun, important, novel problems. This "working together" can cover the gradient from supervisor, to advisor, mentor, and collaborator. However, from the perspective of a graduate student, the leadership style implied by these different terms can have important effects on graduate student well-being (last week's news item). In one of the mentioned articles, the authors explicitly quantified three different leadership styles:
"Turning to the leadership style of the PhD supervisor, we see evidence for a better mental health in those PhD students who are advised by a professor with an inspirational leadership style (OR is 0.868 for GHQ2+ and 0.908 for GHQ4+). No significant associations were found between an autocratic leadership style and the experience of mental health problems. However, when PhD students were exposed to a laissez-faire leadership style, the risk of experiencing psychological distress significantly increased."

The university spends a lot of time to discussing how to assess undergraduate teaching, but assessing graduate advisors has received a lot less attention. And now there is strong evidence that this assessment has important, positive consequences. A recent article reports on results from a study at eight research universities that concluded that:
"... was a much more effective system for classifying and tracking the performance of supervisors. This has led to problems being addressed earlier, the removal of “totally unsatisfactory supervisors” and an 8 per cent increase in timely completions."

The assessment criteria were: the current and past number of students advised, graduations within the completion period, and "student rescues". While these are relatively easy to quantify, they do not necessarily address some of the aspects covered in the first quote. This would involve graduate student (past and present?) input, and this is where the thorns come into the picture. Because of the close nature of the advisor-graduate student relationship, what would you ask, when would you ask this, and who would you ask it to?

Thursday, April 13, 2017

Graduate student well-being

Graduate student well-being has received a lot of attention lately. As far as I know, it has not reached the level of the urgency as for undergraduate students, but graduate students are exposed to a unique set of challenges too. Two recent studies quantified these challenges: Student Experience Survey 2017: investigating well-being at university and Work organization and mental health problems in PhD students. The second study also argues convincingly that these challenges are unique to the graduate school experience, and are not shared with similar persons in other contexts, such as for instance employees. The next important step is thus to determine what aspects of the graduate school culture can be changed at the student, advisor, department, and university level. It is relatively easy to find advice for grad students (e.g., this recent blog on how to juggle a PhD with family), but what can we, as a department do differently, better, more to address these challenges?

Monday, April 10, 2017

Best thank you ever


And this is another (random) example of why R is so awesome:

http://www.masalmon.eu/2017/04/08/spocc/

Friday, March 31, 2017

Practical workplace advice by Anne Krook


Anne Krook has a page full of practical advice on how to get a non-academic employment, which is something that I have been looking for for a long time. So here is the link, and all beginning grad students should consult this page in the first semester of their program. She even has a post titled "can non-academic careers be Plan A yet?"!

Wednesday, March 22, 2017

How NOT to get a postdoc (or post PhD) position

Great story, with a clear message that is equally applicable to non-academic jobs after your PhD or MSc degree: you should be thinking about this during your graduate work, and not wait until you are almost done. Below, I have taken the her final paragraph, and I have made it a little bit more general (the bold sections are my changes):
"In general, I’ve seen that the people who get ahead in [academic ecology] the job market are those who have a clear vision of what [research] job they want to pursue and why it matters. As you finish your PhD, spend time thinking about a few possible future [research] job directions. What do you want to [discover] contribute to society? Why? And what will it take to make those [discoveries] contributions?"

Thursday, March 16, 2017

The bar is raised!

IB graduate students, if you want to make some more exiting defence announcements: twitter threw down the gauntlet, and the bar is now raised substantially.

 

Wednesday, March 8, 2017

Graduate click-bait: 4 Reasons Graduate Students Shouldn’t Have to Work Weekends

Despite the click-bait nature of the blog, this blog post has some perspectives that a lot of graduate students in our department will probably be able to relate to. Now I just wonder how many faculty members have a different perspective.

Monday, February 27, 2017

Release the kraken

What happens when you collaborate with non-ecology scientists?

- You create a Transposable Element (TE) simulation model called TEWorld, with this logo:

- One of your collaborators initials in this project are TE (and you only realize this after collaborating for 4 years)

- You need to run said simulations on sharcnet, and one of the clusters is you will use is called kraken (or orca, or requin, or saw; obviously computer scientists are not biologists, or they are and the inclusion of orca is reverse reverse psychology).

- You receive links to these types of youtube videos:


- You descend into philosophical rabbit holes, and come out transformed.

Tuesday, February 21, 2017

Is doing a PhD a waste of time?

Some people definitely think so. These types of articles crop up regularly. Here is a recent version of this type of analysis that re-appeared in Medium, but is originally from 2010. These are like the villain in a horror movie, every time you think he is finally dead, ominous music fills the theatre. The linked-to article has some aspects that set it apart, though. It provides a voice of faculty members, in addition to some short-writing gems. The quote below has both:
"Monica Harris, a professor of psychology at the University of Kentucky, is a rare exception. She believes that too many PhDs are being produced, and has stopped admitting them. But such unilateral academic birth control is rare."

Monday, February 13, 2017

I will never look at a boxplot in the same way...

https://xkcd.com/1798/

Friday, February 3, 2017

Standing on the shoulders of giants

I am currently teaching a graduate "Stats" course, which is more a historical exploration of statistical issues in ecology, led by grad students. As part of the course, we are also exploring best practices in R and ecological data management. So naturally we covered Brian McGill's 10 commandments for good data management, and his follow-up post with an example application of these recommendations with a toy data set.
I decided afterwards to do the challenge, and with our weekly University of Guelph R Users group (UGRU) we walked through the code line by line, and discussed why certain lines were included, alternative ways to code them, advantages and disadvantages of these alternative approaches. It took us 3 hours of exploration, and I have captured our discussion in an alternative R script file, where our notes are preceded by "###" to differentiate them from Brian's comments.

Here is a link to this updated script file: https://drive.google.com/open?id=0B6C_pml53BPUQ1JKWV96NDFFVUU

Here is a summary of some of our observations:

  • The tidyverse package makes everything easy
  • read_csv is preferable over read.csv
  • tibbles are the way to go
  • reproducible code is very difficult (paths to files, outdated packages)
  • different philosophies with respect to keeping/creating intermediate files, and the value of long versus short file names
  • the flexibility of ggplot is awesome, and just as in base R, there are multiple ways to reach the same goal
  • and the biggest revelation for some of us: when you are piping, and your code is structured in multiple lines, you can still execute the whole block with one cmd/ctr-enter, without the need to highlight the block or step through it line by line!
Thank you Brian for the nice tutorial, RStudio for the functionality, and Maddie for the cmd-enter combination in a piping block, coding will be so much more efficient now.

Wednesday, January 11, 2017

R user group - UGRU

The last 2 years, I have "been running" a R User group, the University of Guelph R Users group (or UGRU). Normally I am the worst when it comes to acronyms, and now I was only bad, because UGRU has Gru in it, the main character of Despicable Me. During a field course, students compared my accent to Gru, and there is a scene in the movie that has its own meme: light bulb.


I hoped that be having people working together and solving similar problems would make the R light bulb go off. And last semester there were a lot of lightbulbs that lighted up. We worked through the first four chapters of the Grolemund and Wickham R for Data Science book, and I have convinced my first physiology colleague that R is awesome.


At the end of the semester, several participants shared their exploratory data analysis, and the word that kept coming up after they put their code together the meeting and the feedback and questions from the other participants was "surprise": patterns they had missed, variables not included, approaches not considered, etc. And this was a mix of people with years of coding in R to beginners. So the feedback and working together did lead to several light bulbs and happy R users!


Wednesday, January 4, 2017

Applying for non-faculty jobs - advice?

Every field is guilty of some form of navel gazing. Hence the abundance on how to apply for faculty jobs. Margaret Kosmala wrote a recentish blog post on this, with some advice I agree with, but also some I do not agree with. For instance, often departments fight over every single word in a job ad, so showing that you understand the needs that will be filled by the position (i.e., your contributions to the department and university) are important.
However, given one of my previous posts (see here), if only 10 percent of our graduate students end up in a faculty position, what resources, blog posts, advice, etc are out there for graduate students ready to make the transition?