我正在尝试在整个数据框中将""
替换为-1
。
此代码执行时没有任何错误,但它没有做任何更改。你能帮忙吗?
df.Sample <- mutate(replace(df.Sample, c(1:13)=="", -1))
答案 0 :(得分:3)
如果replace
适用于所有列,请使用mutate_each
library(dplyr)
df.Sample %>%
mutate_each(funs(replace(., .=='', -1)))
set.seed(24)
df.Sample <- as.data.frame(matrix(sample(c(1:5, ""), 4*5,
replace=TRUE), ncol=4), stringsAsFactors=FALSE)
答案 1 :(得分:1)
确保Private Sub cmdSave_Click()
Dim CustomerNumber As String, FullName As String, ContactNumber As Long, CompanyName As String
Worksheets("CustForm").Select
CustomerNumber = Range("D4")
FullName = Range("D5")
ContactNumber = Range("D6")
CompanyName = Range("D7")
Worksheets("CustomerList").Select
Worksheets("CustomerList").Range("A5").Select
If Worksheets("CustomerList").Range("A5").Offset(1, 0) <> "" Then
**Worksheets("CustomerList").Range("A5").End(x1Down).Select**
(here is where my error points me too)
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = CustomerNumber
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = FullName
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = CompanyName
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ContactNumber
Worksheets("CustForm").Select
Worksheets("CustForm").Visible = True
Worksheets("OrderInvoice").Activate
Range("D4:J7").Select
Selection.ClearContents
End Sub
是空的,因素还是其他。
所以我推荐只是为了安全起见将数据帧转换为不将字符串视为因子的数据帧:
""
然后您可以将等于df.Sample <- data.frame(matrix(sample(c(1:5, ""), 10*13, replace=TRUE),
ncol=13),stringsAsFactors = F)
的值替换为-1。
因此,如果您希望在第1列到第13列中执行此操作:
""
如果需要,您可以稍后将类型更改为for(i in names(df.Sample)){
df.Sample[eval(parse(text=paste("df.Sample$",i))) == "",i] <- "-1"
}
。