我在数据框中有一个列,其数字如下所示
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])
功能,但它没有用。所以不确定如何处理这些数据,我们非常感谢任何建议或建议。
答案 0 :(得分:3)
我们需要{'1}将'温度'列添加到',',转换为split
,获取numeric
,range
并创建两列
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