小编utu*_*bun的帖子

R >4.1 语法:错误:管道的 RHS 调用不支持函数“function”

R 4.1.0著名地引入了(“基管道”)运算|>符和类似 Haskell 的 lambda 函数语法。

我认为可以将两者结合起来,如下所示:

c(1, 2, 3) |> \(x) 2 * x
Run Code Online (Sandbox Code Playgroud)

这对我来说失败了:

错误:管道的 RHS 调用不支持函数“function”

因此我认为这不是有效的语法?这有效:

c(1, 2, 3) |> (\(x) 2 * x)()
Run Code Online (Sandbox Code Playgroud)

是否有更优雅的方式来链接管道和新的 lambda 函数?

syntax r

19
推荐指数
2
解决办法
6975
查看次数

geom_point,手动颜色和点大小

我想

  1. 将“能量水平”类别的颜色分配给较高级别的红色色调和较低级别的绿色色调。
  2. 按以下顺序对“功能级别”类别的每个点的大小进行排序:low_TL、inter_TL、Myrmecophage、mesocarnivores、large_species、apex carnivores、megafauna(将较小的点大小分配给“low_TL”,将最大的点分配给megafauna)。

Dataset<-read.csv(file= "meat.csv", header= TRUE, sep= ";" )
library(ggplot2)
options(scipen=999)
theme_set(theme_bw())
gg <- ggplot(Dataset, aes(x=specie, y=responserate))+ 
  geom_point(aes(col=energetic_level, size=functional_level)) + 
  geom_smooth(method="loess", se=F) + 
  labs(subtitle="Bushmeat trade", 
       y="Response rate", 
       x="Body mass")
gg+scale_color_gradient(low="green", high="red", space ="Lab" )
plot(gg)
Run Code Online (Sandbox Code Playgroud)
specie	responserate	energetic_level	functional_level
AAOtol_cras	7.2	2.4	low_TL
ABMiop_tal	1.6	3	low_TL
ACCLep_cap	14.4	3	low_TL
BAThry_swin	20	2.8	low_TL
BBPhil_mont	20.8	2.6	low_TL
BCChlor_cyn	72.8	3.2	low_TL
BDCerc_mit	5.6	2.5	low_TL
CCHys_afri	23.2	2.8	low_TL
FCan_mes	1.6	4.9	inter_TL
PTrag_oryx	16	2.7 …
Run Code Online (Sandbox Code Playgroud)

r colors manual ggplot2

2
推荐指数
1
解决办法
3134
查看次数

如何找到大于或等于 a 的值,然后在 R 中找到这些最大值中的最小值?

a <- 0.6875
estFj <- c(-0.8231686, 0.1237904, 1.1967068, 1.3772572)

#What I tried so far is: 

for(i in estFj) {
  if (i >= a) { 
    t = c(i)
  }
}

t
Run Code Online (Sandbox Code Playgroud)

但它只给出 1.3772572 的值,而我需要所有estFj大于或等于 a 的值,然后找到这些大于或等于 a 的值中的最小值!

我该如何解决?

loops for-loop if-statement r minimum

2
推荐指数
1
解决办法
440
查看次数

标签 统计

r ×3

colors ×1

for-loop ×1

ggplot2 ×1

if-statement ×1

loops ×1

manual ×1

minimum ×1

syntax ×1