首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:整数字符项计算

R:整数字符项计算
EN

Stack Overflow用户
提问于 2020-06-12 23:32:45
回答 1查看 34关注 0票数 0

我有一个包含条目(类型:character)的data frame,这些条目可以是integers,也可以是这样的integers范围,用减号分隔:

代码语言:javascript
复制
ds1:
    Values
    12-15
    5-10
    2-3
    12
    40
    3

我想生成一个数据框,它保留整数值,但计算具有范围(两者的类型:num)的条目的平均值,即:

代码语言:javascript
复制
ds2:
    Values
    13.5
    7.5
    2.5
    12
    40
    3

到目前为止,我只删除了减号。但这种方法给了我下限,而不是计算两个界限之间的平均值的方法。我这样做是不是错了?如果有任何帮助,我将不胜感激,而且没有套餐偏好。

EN

回答 1

Stack Overflow用户

发布于 2020-06-12 23:43:18

下面是一个使用tidyr包中的separate_rows()函数的解决方案:

代码语言:javascript
复制
values<-c("12-15", "5-10",  "2-3", "12",
          "40",  "3")

df <-data.frame(values)

library(dplyr)
library(tidyr)
df %>% mutate(ID = row_number()) %>% separate_rows(values, sep="[^[:alnum:].]+") %>% 
  group_by(ID) %>% summarize(values=mean(as.numeric(values)))

     ID values
  <int>  <dbl>
1     1   13.5
2     2    7.5
3     3    2.5
4     4   12  
5     5   40  
6     6    3  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62347530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档