2014-10-05 82 views
-5

我有R中的数据集,和坐标被设置为“+ PROJ = longlat”在细胞中添加180到多个

我只需要在细胞中添加180与数的一列[R

简单:

V1 
-140.0000 

阅读需求

40.0000 

在Excel中,它会创建一个新列,并输入函数:=(V1 + 180),敲击Enter,然后向下拖动单元格以复制V1中其余单元格的内容。

这么简单,但很难。请协助!

+1

如果'dat'是数据,并且您需要添加到列'V1'的第一个元素,您可以尝试'dat $ V1 [1] < - dat $ V1 [1] + 180' – akrun 2014-10-05 15:19:03

+1

@akrun,I认为他想要整列,即'dat $ V1 < - dat $ V1 + 180' – 2014-10-05 15:35:22

+0

我已经提出了这个问题。这是一个简单的问题并不能减少它的有效性。 OP的问题实际上非常清楚。 – 2014-10-05 15:55:51

回答

2

在一般情况下,如果要添加180多项在一个变量,你可以简单地做:

a = -140 
b = a + 180 
a 
[1] -140 
b 
[1] 40 

若要将此一整列,简单地做:

dat = data.frame(lat = sort(runif(100) * 180)) 
dat$new_col = dat$lat + 180 
head(dat) 
     lat new_col 
1 1.170811 181.1708 
2 9.104993 189.1050 
3 9.179259 189.1793 
4 11.475814 191.4758 
5 11.502220 191.5022 
6 11.716903 191.7169 

请注意,当您向矢量(dat$lat)添加一个数字(180)时,R将解释您的意思是将180添加到dat$lat的每个元素。这被称为矢量化。

+0

非常感谢!我不多使用stackoverflow,我很抱歉,我没有尽早回复 – 2015-01-29 12:46:29