是否存在写入data.frame或TIBLE并从中读取的订单行?

是否存在写入data.frame或TIBLE并从中读取的订单行?,r,dataframe,tibble,R,Dataframe,Tibble,作为一个正在学习R的初学者,到目前为止,我发现最接近关系数据库表(我指的是矩形数据结构)的结构是数据帧和TIBLE 在Oracle、PostgreSQL等经典RDMS中,除非表被定义为索引组织的表,否则默认情况下它被视为堆组织的表。这意味着没有特定的顺序,根据哪些行写入或从表中读取。如果用户需要根据特定的顺序查询表,那么保证该顺序的唯一方法是在查询中使用ORDERBY子句 它如何在data.frames中工作?假设我将一个包含1000行的CSV文件导入到data.frame中,行的顺序很重要,因

作为一个正在学习R的初学者,到目前为止,我发现最接近关系数据库表(我指的是矩形数据结构)的结构是数据帧和TIBLE

在Oracle、PostgreSQL等经典RDMS中,除非表被定义为索引组织的表,否则默认情况下它被视为堆组织的表。这意味着没有特定的顺序,根据哪些行写入或从表中读取。如果用户需要根据特定的顺序查询表,那么保证该顺序的唯一方法是在查询中使用ORDERBY子句

它如何在data.frames中工作?假设我将一个包含1000行的CSV文件导入到data.frame中,行的顺序很重要,因此当我从data.frame中读取它们时,应该根据它们在文件中出现的顺序(文件中的第一行,然后是文件中的第二行,依此类推)。所以我的问题是:包含这些行(=观察值)的data.frame是否尊重顺序?例如,如果我在循环中迭代data.frame,我可以确保行的顺序与插入data.frame的顺序完全相同吗?我认为这在从R连接到远程数据库时更为重要,当我们通过SQL查询(包含ORDER BY子句)获取行时,维护从远程数据库检索的行的顺序非常重要。

简短回答:“是的,尊重行顺序”。但很少需要在行上循环。R编程中的一个很好的经验法则是“如果我使用循环,可能有更好的方法”。