- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近偶然发现了 replace()
Và "[<-"
.它们似乎具有相似的功能,例如 "[<-"
我可以做这样的事情:
> x.tst <- array(1:6, c(2,3))
> s.tst <- array(0, c(2,3))
> s.tst
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
> s.tst[1:3] <- 1
> "[<-"(x.tst, s.tst==1, 0)
[,1] [,2] [,3]
[1,] 0 0 5
[2,] 0 4 6
> x.tst
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
replace
的优势是什么?对比
"[<-"
反之亦然?
1 Câu trả lời
它们基本上是完全一样的。如果您查看替换的源代码,您会看到:
function (x, list, values)
{
x[list] <- values
x
}
[<-
周围的一个包装器。 :
> replace(x.tst, s.tst==1, 0)
[,1] [,2] [,3]
[1,] 0 0 5
[2,] 0 4 6
[<-
如果您需要执行此操作一百万次,则可以为您提供加速,因为您会丢失对包装器函数的额外调用。但它真的很边缘,所以这是一个选择的问题。我会说
replace()
更易读
x.tst[s.tst==1] <- 0
So sánh
"[<-"(x.tst, s.tst==1, 0)
更易读.没有理由使用该构造,除非您想将结果保存在新的数据框中。
replace()
Và
"[<-"(x.tst, s.tst==1, 0)
您将获得整个 x.tst 的副本,并更改了相关值。所以你可以把它放在一个新对象中。这与
x.tst[s.tst==1] <- 0
相反,您可以在其中更改 x.tst 本身的值。请注意,它不会节省内存,因为 R 会在进行操作之前在内部制作 x.tst 的副本。
> system.time(replicate(1e6, replace(x.tst, s.tst==1, 0)))
user system elapsed
12.73 0.03 12.78
> system.time(replicate(1e6, "[<-"(x.tst, s.tst==1, 0)))
user system elapsed
6.42 0.02 6.44
> system.time(replicate(1e6, x.tst[s.tst==1] <- 0))
user system elapsed
5.28 0.02 5.32
关于替换()与 "[<-"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346101/
Tôi muốn thực hiện tìm kiếm và thay thế trên một chuỗi, chẳng hạn như mật khẩu. Như bạn có thể hiểu từ câu hỏi, chuỗi sau khi thay thế sẽ trở thành sdvvzrug. Nhưng thật không may, đoạn mã sau đây lại cho ra bbbbcaab: $search = ran
Tôi đang sử dụng futurize --stage2 để áp dụng một số chuyển đổi mã nguồn nhằm làm cho mã python2 và python3 tương thích. Một trong những cách khắc phục là tất cả các phân vùng a/b được thay thế bằng old_div(a/b), tôi muốn tránh điều này
Tôi đang sử dụng RStudio nhưng đầu ra trên bảng điều khiển bị cắt bớt. Tôi không tìm ra cách để dừng việc cắt bớt (tôi đã thử tìm kiếm ?options cũng như tìm kiếm trên Google lâu hơn mức tôi muốn thừa nhận). Sửa: Tôi xin lỗi mọi người! Tên dài ban đầu của tôi là "This
Tôi có một ngăn xếp phân mảnh trong đó tôi sử dụng lệnh thay thế và lệnh thêm. Mã để thêm hoặc thay thế đoạn mã của tôi (trong Hoạt động của tôi) như sau private fun addFragment(fragment
Tôi đang chèn một số chuỗi vào một mảng, nhưng trước khi thực hiện, tôi muốn làm theo chủ đề đã nêu. Để chỉ thay thế khoảng trắng bằng %20, tôi thực hiện như sau: Name.push(linkText.replace(" ", "%20")); Nhưng tôi
Tôi đang cố gắng biên dịch và kiểm tra một đoạn mã mà tôi thấy trực tuyến có tên là Expanding an IP add. Tuy nhiên, khi tôi thử biên dịch nó, tôi nhận được lỗi về phương thức replace của StringBuilder. Nó nói rằng: IPadd.java:52:
Tôi đang cố gắng viết lại một phần mã của mình bằng các tính năng mới nhất của dplyr bằng cách thay thế data.frame() bằng data_frame() và cbind() bằng bind_cols(): library(rgeo
Gần đây tôi tình cờ tìm thấy replace() và "[ x.tst s.tst s.tst [,1] [,2] [,3] [1,] 0 0 0
Tôi luôn tự hỏi làm thế nào để thực hiện thay thế trong một tham số nhất định. Nếu bạn có một dòng như thế này: 123,Xin chào,Thế giới,(Tôi là, ở đây), không xác định và bạn muốn thay thế Thế giới bằng Foobar thì đây là một nhiệm vụ đơn giản
Làm thế nào để thoát khỏi dấu ngoặc kép trong một chuỗi? Ví dụ, đầu vào: "Không ai" đầu ra: \"Không ai\" Tôi đã thử làm như thế này nhưng không được: String name = "Không ai"; name.r
Tôi đang thực hiện lệnh như sau: SQL sql sQl SqL var ps = document.getElementsByTagName('p'); for(var i = 0; i nhưng nó không thay thế được văn bản.
Tôi đang cố gắng thay thế tất cả " bằng \" và phân tích chuỗi bằng JSON nhưng trình duyệt trả về lỗi SyntaxError: JSON Parse error: Unrecognized token '\'. Dưới đây là mã
Xin chào mọi người, tôi đang gặp khó khăn ở đây... Có thể thay thế bất kỳ phần nào giữa dấu gạch chéo đầu tiên bằng "", nhưng vẫn giữ nguyên phần còn lại không? Ví dụ, var sẽ là chuỗi "/anything-here-this-needs-to-be-re
Trong đoạn mã bên dưới, alert(a) trong hàm thay thế JavaScript sẽ cảnh báo các chuỗi khớp, trong trường hợp này là {name} và {place}. Điều này hoạt động như được mô tả trong tài liệu javascript, tức là:
+--------------------------------+ | bảng | +-------------------
Tôi đang cố gắng thay thế một chuỗi chứa " bằng \", bên dưới là quy trình tôi đã thử String s="\"/test /string\""; s = s.replaceAll("\"", "\\\"");
var text = "a's ..a's ...\"... "; text = convert(text); hàm convert(text) { var n = text
Tôi đang cố gắng sử dụng hàm thay thế trong JavaScript nhưng tôi gặp phải một vấn đề. strNewDdlVolCannRegion = strNewDdlVolCannRegion.replace(/_existing
Được rồi, trước hết tôi thực sự xin lỗi vì bài đăng gần đây nhất của mình nhưng tôi thực sự cần trợ giúp và tôi sẽ đưa những gì tôi thực sự muốn vào một đoạn mã rõ ràng hơn. Tôi không giỏi về JavaScript nên hy vọng bạn có thể giúp tôi.
Tôi đang viết một ghi chú và gặp phải một trở ngại. Có lẽ có một cách hiệu quả hơn để thực hiện việc này, nhưng tôi khá mới với Python. Tôi đang cố gắng tạo danh sách địa chỉ IP do người dùng tạo. Tôi đang sử dụng lệnh in để xem các giá trị được tạo ra có chính xác không. Khi tôi chạy mã này
Tôi là một lập trình viên xuất sắc, rất giỏi!