Analysis in R: Useful for continuous processing. How to “assign a value to a regular variable name” and “command R with a string”

RAnalytics
スポンサーリンク

This section introduces “how to create variable names (objects) and regularly assign values (data) to them” using the “assign command” and “how to command R with a string (for example, “TEST” enclosed in double quotes)” using the “eval(parse(text = “command contents”)) command. This can be useful for iterative processing such as “for” commands.

The command is checked with R version 4.2.2. No new package installation is required.

スポンサーリンク

Regularly create variable names and assign values

The “assign” command is used. This section introduces the creation of vectors and data frames. See the comments for details. Note that the data is created using the “sample” command, so the contents will be different each time it is run.

#Creating Vectors
#Create Test1 to 5 objects and assign data
for( i in seq(5)){

 assign(paste("Test", i, sep = ""),
        sample(10:100, size = 10, replace = TRUE),
        env = .GlobalEnv)

}

#Of course, data frames are also possible
#Create Test1 to 5 objects and assign data
for( i in seq(5)){

  assign(paste("TestDF", i, sep = ""),
         data.frame(TEST1 = sample(10:100, size = 10, replace = TRUE),
                    TEST2 = sample(200:300, size = 10, replace = TRUE)),
         env = .GlobalEnv)

}

How to command R with a string

“eval(parse(text = “statement content”))” command. Here is an example that displays the contents of the data and outputs a scatter plot. Note that the data was created using the “Regularly create variable names and assign values” command example described above.

Although not introduced here, if processing takes a long time, consider using the “eval(substitute(do.call()))” command, which has a high processing speed.

#eval(parse(text = "命令内容")) command
#Use the cat command to label and display the contents from the created Test1
for( i in seq(5)){

  cat(eval(parse(text = paste("Test", i, sep = ""))),
      labels = paste("Test", i, ":", sep = ""), fill = TRUE)

}
Test1: 23 48 81 18 74 59 75 49 54 14
Test2: 28 35 16 66 29 79 88 66 58 67
Test3: 61 70 88 22 27 17 58 34 87 16
Test4: 86 77 60 41 47 73 57 41 10 43
Test5: 51 63 45 25 46 65 43 23 67 88

#Scatter plot of TestDF1 through 5
layout(matrix(seq(5), rep(1, 5)), 1, 5)
ColSet <- c("#d9bb9c", "#4b61ba", "#deb7a0", "#a87963", "#28231e")
for( i in seq(5)){
  
  plot(eval(parse(text = paste("TestDF", i, "[, 1]", sep = ""))),
       eval(parse(text = paste("TestDF", i, "[, 2]", sep = ""))),
       xlab = "", ylab = "", main = paste("TestDF", i, sep = ""),
       col = ColSet[i], pch = 15, cex = 4)
}

Output Example

Rplot

I hope this makes your analysis a little easier !!

Amazon audibleの登録の紹介

プライム会員限定で2024年7月22日まで3か月無料体験キャンペーン開催中です。無料体験後は月額1,500円で聞き放題です。なお、聞き放題対象外の本はAudible会員であれば非会員価格の30%引きで購入することが可能です。

Amazon audibleはプロのナレーターが朗読した本をアプリで聞くことができるサービスで、オフライン再生も可能です。通勤や作業のお供にAmazon audibleのご登録はいかがでしょうか。

・AmazonのAudible

https://amzn.to/3L4FI5o

Copied title and URL