我正在尝试从几个mutate(dplyr包)函数创建一个循环函数。下面的每一行代码都运行得很好,但是我正在寻找更优雅的代码(如果可能的话,在一行代码中),因为我需要再重复这五行代码10次(对于额外的10个数据帧)。
ism.50
是我的Data.Frame,有5列10,000行。
Isim_n20<dbl> Isim_n30<dbl> Isim_n50<dbl> Isim_n100<dbl> Isim_n1000<dbl>
1 1.7789999 3.7416683 1.8228680 1.1573671 1.0336168
2 1.3475063 0.7559132 1.2948982 0.9957275 0.9409909
3 0.5980781 1.7888836 1.4068773 1.0847899 0.9354231
4 1.4656961 1.6271786 1.2401491 1.1348101 0.9749408
5 1.8969097 0.6829495 1.4543307 0.8554704 1.0039841
6 1.3969583 1.1180521 0.7765212 0.8293486 1.0257257
7 0.9155140 1.3892062 0.8045851 1.0480486 1.0344771
ism.50 <- ism.50 %>% mutate(Intv_n20=cut(ism.50[,1], breaks=breaks, labels=labels))
ism.50 <- ism.50 %>% mutate(Intv_n30=cut(ism.50[,2], breaks=breaks, labels=labels))
ism.50 <- ism.50 %>% mutate(Intv_n50=cut(ism.50[,3], breaks=breaks, labels=labels))
ism.50 <- ism.50 %>% mutate(Intv_n100=cut(ism.50[,4], breaks=breaks, labels=labels))
ism.50 <- ism.50 %>% mutate(Intv_n1000=cut(ism.50[,5], breaks=breaks, labels=labels))
for (j in 1:col(ism.50)) {
ism.50 %>% mutate(Intv_[j]=cut(ism.50[j], breaks=breaks, labels=labels))
}
试一试,跨
函数是新的,但它有助于重命名。如果你需要我调整就告诉我。它的好处是它是可伸缩的。所以如果你有100列就可以了。
library(tidyverse)
mutate(ism.50,
across(starts_with("Isim"),
~cut(.,
breaks = breaks,
labels = labels),
.names = "replace{col}")) %>%
rename_at(vars(starts_with("replace")), ~str_replace(., "replaceIsim", "Intv"))
我是最近一个R的转换者,正在努力寻找下面的R等价物:循环使用一个公共前缀加上一个数字(var1,var2,...,varn)命名的变量。 假设我有一个数据集,其中每行是一个商店,每列是该商店在第1个月、第2个月...第6个月的收入值。一些虚构的数据,例如: 你能提出一个适当的方法吗?
我有这个数据 如果M3大于UCL,MM3将为“UP”,否则为“NULL” 但是我有几个M列(比如m1~m1005),所以我想做一些代码,比如mutate_each和mutate_at。如何使用mutate和ifelse函数在特定条件下创建新列?
我在尝试创建一个函数时遇到了麻烦。我想把数字转换成一周中指定的日子。例如:1='星期一',2='星期二',3='星期三',4='星期四',5='星期五',6='星期六',0='星期日' 下面是我编写函数的尝试,但我得到了一个错误,我还认为一定有一种方法可以循环它。我只是不知道怎么做。
循环变量内建函数从 FreeMarker 2.3.23 版本开始存在。 这些内建函数只能用于list 和 items 指令 的循环变量 (也可以用于已经废弃的 foreach 指令)。 下面是一些说明(loopVar?index 在可以列表的值中进行迭代,返回从0开始的索引): <#-- Note: x is a loop variable --> <#list ['a', 'b', 'c'] a
问题内容: 我如何访问传递给fs.lstat函数的变量? 问题答案: 这是使用而不是for循环迭代值的完美理由。 另外,您可以使用@Aadit建议的闭包:
大家早上好,这是我第一次在stack overflow上发帖。感谢任何帮助! 我有2个用于分析股票数据的数据框。一个数据框包含日期和其他信息,我们可以将其称为df: 第二个数据框也有日期和其他重要信息。 这是我想做的:对于df1中的每一行,我需要: -在df2中查找日期,当df2$答案与df1$key相同时,它最接近df1中该行的日期。 -然后提取df2中该行的另一列的信息,并将其放入df1中的新