-4
我使用的符號代碼爲:在R中「:=」符號是什麼意思?
test[,income_level := ifelse(test$income_level=="-50000",0,1)]
請幫助我瞭解符號「:=」
我使用的符號代碼爲:在R中「:=」符號是什麼意思?
test[,income_level := ifelse(test$income_level=="-50000",0,1)]
請幫助我瞭解符號「:=」
十分肯定你引用代碼表示data.table
對象的修改,從而可以只有我通過加載一個額外的軟件包(也稱爲data.table
)來製作R。更具體地說,代碼將新列添加到test
data.table
。
A data.table
是data.frame
,但允許不同的語法並且可以提供速度優勢。
例:
# Load the data.table package
library(data.table) # First install.packages("data.table")
# Example data data
n <- 8
set.seed(1)
test <- data.table(id = 1:n, income = rnorm(n = n, mean = 1000, sd = 150))
test
id income
1: 1 906.0319
2: 2 1027.5465
3: 3 874.6557
4: 4 1239.2921
5: 5 1049.4262
6: 6 876.9297
7: 7 1073.1144
8: 8 1110.7487
# Create a new column
test[, income_high := ifelse(test$income > 1000, 1, 0)]
test
id income income_high
1: 1 906.0319 0
2: 2 1027.5465 1
3: 3 874.6557 0
4: 4 1239.2921 1
5: 5 1049.4262 1
6: 6 876.9297 0
7: 7 1073.1144 1
8: 8 1110.7487 1
我相信符號:=這表示在本對象中新對象列的啓動和分配。 – Abhishek
這意味着你創建新列''income_level值爲'ifelse(測試$ income_level == 「 - 50000」,0,1)',或者你可以認爲這樣 'test [,'income_level'] = ifelse(test $ income_level ==「 - 50000」,0,1)' – Wen
看看這個問題,瞭解':='操作符在基本R中被解析以及如何重新定義和使用一些包,如'data.table'和'ggvis':https://stackoverflow.com/questions/26269423/r-why-is-allowed-as-an-infix-operator –
它是不再(不再是)基R的一部分。它被少數軟件包使用,而不是巧妙地[data.table](https://github.com/Rdatatable/data.table/wiki)就像你提供的用法一樣。 – alistaire