R 根据列值向左移动行

R 根据列值向左移动行,r,R,我使用的是一个大数据帧(30000多个观测值,包含20个变量),因此我无法转换数据帧。对于某些行,某些列会移到日期类列的右侧,但日期类列左侧的列不会移动。我试着根据移位发生的列编写一个if语句,但我似乎无法理解它。 下面是一些示例代码: structure(list(Site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,

我使用的是一个大数据帧(30000多个观测值,包含20个变量),因此我无法转换数据帧。对于某些行,某些列会移到日期类列的右侧,但日期类列左侧的列不会移动。我试着根据移位发生的列编写一个
if
语句,但我似乎无法理解它。 下面是一些示例代码:

structure(list(Site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("1", "2", "3"), class = "factor"), 
Vial = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 1L, 2L, 
3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 1L, 2L, 3L, 4L, 5L, 6L, 
7L, 8L, 9L, 10L), Date = structure(c(15156, 15156, 15156, 
15156, 15156, 15156, 15156, 15156, 15156, 15156, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, 15156, 15156, 15156, 15156, 
15156, 15156, 15156, 15156, 15156, 15156), class = "Date"), 
Value_1 = c("a", "a", "a", "a", "a", "a", "a", "a", "a", 
"a", "2011-07-01", "2011-07-01", "2011-07-01", "2011-07-01", 
"2011-07-01", "2011-07-01", "2011-07-01", "2011-07-01", "2011-07-01", 
"2011-07-01", "a", "a", "a", "a", "a", "a", "a", "a", "a", 
"a"), Value_2 = c("b", "b", "b", "b", "b", "b", "b", "b", 
"b", "b", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", 
"b", "b", "b", "b", "b", "b", "b", "b", "b", "b"), Value_3 = c("c", 
"c", "c", "c", "c", "c", "c", "c", "c", "c", "b", "b", "b", 
"b", "b", "b", "b", "b", "b", "b", "c", "c", "c", "c", "c", 
"c", "c", "c", "c", "c"), Value_4 = c(NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, "c", "c", "c", "c", "c", "c", "c", "c", 
"c", "c", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d"
)), row.names = c(NA, -30L), class = "data.frame")

请注意,最后一列包含NA,但也包含值。

我再次敦促上游流程应该是固定的。在此期间,这种黑客技术现在应该“足够好”了


nadate您尝试了哪些代码?您是否“保证”在
$date
之后的第一列中没有“类似日期”的元素?您是如何获取数据的?如果是来自文件,那么让我们看看文件中的一些问题行。如果来自一个进程(例如,
httr::GET
和一些API),那么查看接收该回复并将其转换为框架的进程可能会有所帮助。无论如何,虽然修复这个bug并不太难,但最好是在问题产生的上游修复它。我保证在
$date
之后没有“类似日期”的元素。由于
$Date
列将包含10个字符,因此我尝试跟踪字符串长度,但右侧的列不会。我想在下游解决此问题的唯一原因是因为我要分析约50个文件,所有文件都有30k+行,因此在上游执行此操作将非常耗时。这些文件直接以.txt文件的形式发送给我,在此之前我无法控制数据。