r中有条件的糊剂

发布于 2025-02-12 14:40:23 字数 215 浏览 1 评论 0原文

我的数据帧看起来像这样:

N = 1000

a <- rnorm(N)
b <- rnorm(N)

df <- data.frame(a, b)

如果a的值小于10,我想设置有条件的粘贴

。如果a&lt; 中的数字前面10。

我该怎么做?谢谢

My dataframe looks like this:

N = 1000

a <- rnorm(N)
b <- rnorm(N)

df <- data.frame(a, b)

I would like to set up a conditional paste0 if the value of a is smaller than 10.

Specifically, I would like to print the value '0' (with no spaces) in front of the number in a if a < 10.

How can I do this? Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遥远的绿洲 2025-02-19 14:40:23

您可以做:ifelse(a&lt; 0,paste0(“ 0”,a),a)

您可能需要使用abs(a)&lt; 10或以其他方式特别照顾负数。

You could do: ifelse(a < 0, paste0("0", a), a)

You might want to use abs(a) < 10 or take special care of negative numbers in other ways.

我不在是我 2025-02-19 14:40:23

我使用@Harre解决方案,并以更一般的功能也实现了负面的解决方案。

有关以后的问题,请提供一个较小的数据集,您的不需要1000行数据框架。

a <- seq(-14, 14, by = 4)

text_number <- function(x){
  
  neg <- x < 0
  x <- abs(x)

  res <- ifelse(x < 10, paste0("0", x), x)
  res <- ifelse(neg, paste0("-", res), res)

  return(res)
}

text_number(a)

I used @harre solution and implemented it in a more general function that take negative too.

For future questions please provide a smaller dataset, your's don't need 1000 lines dataframe.

a <- seq(-14, 14, by = 4)

text_number <- function(x){
  
  neg <- x < 0
  x <- abs(x)

  res <- ifelse(x < 10, paste0("0", x), x)
  res <- ifelse(neg, paste0("-", res), res)

  return(res)
}

text_number(a)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文