2013-04-17 24 views
1

其值I具有此数据帧:插入另一列的数据帧并且递增每

head(df,10) 
    V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 
3 36.4 13.1 13.9 36.6 9.26 57.9 28.0 34.96 26049 3492 
4 31.1 11.2 12.6 45.1 7.81 48.8 25.9 37.85 17515 2754 
5 33.2 13.4 13.2 40.3 8.69 54.3 26.9 35.67 23510 3265 
6 34.0 12.8 13.7 39.4 8.77 54.8 26.5 35.19 25151 3305 
7 32.7 12.4 13.6 41.3 8.49 53.0 25.9 35.97 25214 3201 
8 33.4 13.7 12.5 40.3 8.76 54.7 27.1 36.50 23943 3391 
9 35.2 13.8 13.5 37.5 9.20 57.5 27.8 33.08 25647 3385 
10 34.6 14.9 14.9 35.6 9.35 58.4 27.8 35.81 27324 3790 
11 30.4 13.3 13.0 43.3 8.29 51.8 24.9 38.31 25178 2881 
12 32.0 13.3 14.0 40.7 8.58 53.6 26.1 35.97 25677 3162 

我有日期时间是这样的:

DateTime<-Sys.time() 

我想插入另一列本df并将每个行的DateTime值增加30秒。

Im做这样的:

for (i in 1:nrow(df)) { 
df[1,]$DateTime<-DateTime 
DateTime<-DateTime+30 
} 

这个循环是没有做什么我试着去做。任何帮助都非常适合。

+0

@Arun,每行日期时间字段需要由30例如被递增,第一行的日期时间将是Sys.time,第二行将被Sys.time + 30,第三行会Sys.time + 30 + 30 – user1471980

+0

是的,这是有效的:'df $ DateTime < - Sys.time()+ 30 *(seq_len(nrow(df)) - 1)' ' – Arun

+0

这工作,你知道很多很酷的功能。谢谢你 – user1471980

回答

2
df$DateTime <- Sys.time() + 30 * (seq_len(nrow(df))-1) 
+1

你可以添加一些解释为什么它像这样工作吗?这里不鼓励使用代码解答。 – Maerlyn

+2

有趣的评论。这是我听过的第一个声明。海报显然知道什么Sys.time()返回,并且是要求发布评论作为答案的那个,所以可以理解,在R中向长度为n的向量中添加一个标量(或者更准确地说,长度为一个向量)会返回一个长度为n的向量。你是否建议我们需要阅读“seq”的帮助页面? –

+0

@DWin - 如果你喜欢这个答案,你可以给它一个信贷:-) – topchef

相关问题