读取存储为字符的数据

时间:2016-10-20 05:54:58

标签: r summarization

我在数据框中有一个列,其数字如下所示

      City                Temperature
      Edmonton, Alberta   4.1,13.6,15.2,15.7,14.2,15.2,16,14.2,17,13.1
      Edmonton, Alberta   15,18.2,14.8,16.5,14.6,16.9,14.3,17.5,13,15.8
      Edmonton, Alberta   15.8,17.9,16.9,15.1,13.2,13.1,16.8,12.4,14.7,15.6
      Edmonton, Alberta   14.3,17.3,14.6,17.3,14.8,14,15.4,14.1,16,15.4

我的目标是阅读Temperature列中的数据,并创建另外两列,以存储最低和最高温度。

      City                Temperature                                         Min      Max
      Edmonton, Alberta   4.1,13.6,15.2,15.7,14.2,15.2,16,14.2,17,13.1        4.1      16
      Edmonton, Alberta   15,18.2,14.8,16.5,14.6,16.9,14.3,17.5,13,15.8       13       18.2
      Edmonton, Alberta   15.8,17.9,16.9,15.1,13.2,13.1,16.8,12.4,14.7,15.6   12.4     17.9
      Edmonton, Alberta   14.3,17.3,14.6,17.3,14.8,14,15.4,14.1,16,15.4       14.1     17.3

我尝试了简单的min(df$Temperature[1])功能,但它没有用。所以不确定如何处理这些数据,我们非常感谢任何建议或建议。

2 个答案:

答案 0 :(得分:3)

我们需要{'1}将'温度'列添加到',',转换为split,获取numericrange并创建两列

rbind

仅当“温度”列为df1[c("Min", "Max")] <- do.call(rbind, lapply(strsplit(as.character(df1$Temperature), ','), function(x) range(as.numeric(x)))) 级时才需要as.character

答案 1 :(得分:3)

select loc from emp e, dept d having count(e.deptno) = 0 or sal <= min(sal) and d.dname = 'SALES' and count(ename) >=2 and sal < avg(sal) group by loc where e.deptno != d.deptno; 函数可以读取文本字段并解析除以&#34; sep&#34;参数:

scan