如何转换数据列以减少字符

发布于 2024-12-22 06:51:05 字数 348 浏览 2 评论 0原文

我正在处理一个数据集,其中有一列包含我想要转换的值。 我现在遇到的问题是我的数据如下所示:

  1. 网站数量
  2. 1 1 35
  3. 1 10 38
  4. 1 2 56
  5. 1 3 23
  6. 1 4 25
  7. 1 5 45
  8. ......

我想删除所有站点中存在的 1,只保留 1, 2, 3 , 4, 5... 10。

我尝试使用 as.number 对其进行转换,但它为我提供了站点 1.10 作为第二个值,因此它不正确。

I am working with a data set that has a column with values that I would like to transform.
The problem that I have right now is that my data looks like:

  1. Site Count
  2. 1 1 35
  3. 1 10 38
  4. 1 2 56
  5. 1 3 23
  6. 1 4 25
  7. 1 5 45
  8. .......

I would like to remove the 1 that is present in all the sites and just leave it 1, 2, 3, 4, 5... 10.

I tried to transform it using as.number but it gives me the site 1.10 as the second value so it is not right.

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

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

发布评论

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

评论(1

喵星人汪星人 2024-12-29 06:51:05

示例数据集:

dat = data.frame(site = paste(1, 1:10), 
                 count = round(runif(10, 1, 10)))

去掉 1 位:

dat$site = sub("1 ", "", dat$site)

这里我使用 sub1 替换为空字符串。然后转换为数字即可:

dat$site = as.numeric(dat$site)
> dat$site
 [1]  1  2  3  4  5  6  7  8  9 10

An example dataset:

dat = data.frame(site = paste(1, 1:10), 
                 count = round(runif(10, 1, 10)))

To get rid of the 1 bit:

dat$site = sub("1 ", "", dat$site)

Here I use sub to substitute the 1 by an empty string. The transformation to numeric then works:

dat$site = as.numeric(dat$site)
> dat$site
 [1]  1  2  3  4  5  6  7  8  9 10
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文