R 根据列值向左移动行
我使用的是一个大数据帧(30000多个观测值,包含20个变量),因此我无法转换数据帧。对于某些行,某些列会移到日期类列的右侧,但日期类列左侧的列不会移动。我试着根据移位发生的列编写一个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,
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文件的形式发送给我,在此之前我无法控制数据。