我有一个数据框,有500行,每行至少有十几列。有些行有更多的列。我想要做的是创建一个变量,其中包含每行最后一个填充的单元格的内容。取最后一个填充的单元格在data.frame中的每一行R
dput(头(calls_with_overlap,10))
A B C D
1. aknasd kasdknsd kasdkas kasdpa
2. asdhad none
3. apihsd piahsdas ashpidapishd phasd askdn wads
4. kasdas none
我试过到目前为止:
if (calls_with_overlap$Overlap[10] = "none")
{
Ending <- TRUE
}
else (Ending <- FALSE)
if (Ending == FALSE)
{
for (q in 1:1024) #max is 1024 columns. perhaps not best way for number of columns.
{
EndingCell <- c(10 + q)
EndingCellcontents <- calls_with_overlap[h,EndingCell] # h is from an outer loop, going through each row.
if (EndingCellcontents != ""){
EndingCellcontents[q] <- EndingCellcontents}
last <- length(EndingCellcontents)
last<- EndingCellcontents[last]
}}
我想 “最后” 包含每一行的最后一个填充单元,除非它说“没有”。从B列
即,在这种情况下开始
last
[1] kasdpa
[2] wads
道歉,如果这是一个nooby的问题,但我自学从头开始编程。
我猜你的意思不是这样呢? – cianius
你不能有一个看起来像这样的数据框。 IT必须是矩形的。某种程度上是否填满了空单元格?新加坡或“”?如果你遵循ttmaccer的指示,它会更容易帮助。因此,使用mtcars set:'dput(head(mtcars,10))'只需将mtcars替换为数据集的名称即可。 –
空单元格为空。这是一个导入的文件。编辑: – cianius