Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的排序算法——语法问题?_R_If Statement_Dataframe_Logical Operators - Fatal编程技术网

R中的排序算法——语法问题?

R中的排序算法——语法问题?,r,if-statement,dataframe,logical-operators,R,If Statement,Dataframe,Logical Operators,我试图实现一种基于数据帧中事件日期的排序算法。日期是格式为07/10/1989 07:59的字符串,我经过了一个提取其数值的过程,最终得到了一个包含5列的数组,其中包含7 10 89 7 59格式的行 问题是:我正试图使用这个带有for循环和if语句的数值数组对原始数据帧进行排序: for (i in 1:(L-1)){ for (j in (i+1):L){ if (Dates_Num[i,3] > Dates_Num[j,3]) { a <- V[

我试图实现一种基于数据帧中事件日期的排序算法。日期是格式为
07/10/1989 07:59
的字符串,我经过了一个提取其数值的过程,最终得到了一个包含5列的数组,其中包含
7 10 89 7 59
格式的行

问题是:我正试图使用这个带有for循环和if语句的数值数组对原始数据帧进行排序:

 for (i in 1:(L-1)){
  for (j in (i+1):L){
    if (Dates_Num[i,3] > Dates_Num[j,3]) {
      a    <- V[i]
      V[i] <- V[j]
      V[j] <- a
    }
    else if(match(Dates_Num[i,3], Dates_Num[j,3], nomatch = F) == 1) {
      if (Dates_Num[i,1] > Dates_Num[j,1]) {
        a    <- V[i]
        V[i] <- V[j]
        V[j] <- a ...
for(1中的i:(L-1)){
对于(j in(i+1):L){
如果(日期数量[i,3]>日期数量[j,3]){

a为什么要这样做?R有
order
sort
功能来完成这项任务。这似乎是一种非常奇怪的方式。为什么不在R中直接将日期时间值转换为适当的日期/POSIXct值并使用标准的排序功能呢?这将有助于提供一些示例输入和所需的输出,以制作@nicola所做的它可以处理字符串,还是需要将日期转换为整数?如果
日期
是日期的向量,请尝试
排序(as.POSIXct(dates,format=“%m/%d/%Y%H:%m”)
(假设第一个数字是月份)。