Q
用數字替換字符
0
A
回答
3
您可以使用ifelse
DF <- read.table(text="F1008Y
F1008Y
406_407insD
R1207*
0
0", header=FALSE) # adding some 0
DF # this is your data.frame
V1
1 F1008Y
2 F1008Y
3 406_407insD
4 R1207*
5 0
6 0
ifelse({df <- DF; df!=0}, df[,] <- 1, df[,] <- 0) # replacing
V1
[1,] 1
[2,] 1
[3,] 1
[4,] 1
[5,] 0
[6,] 0
# the original data.frame remains the same
DF
V1
1 F1008Y
2 F1008Y
3 406_407insD
4 R1207*
5 0
6 0
1
下面是利用這樣的事實,當你在具有混合在一起的數字和字符串向量使用as.numeric
,字符串轉換爲:NA
優勢的例子。我添加了一個額外的列,只是爲了好玩。
DF <- read.table(text="F1008Y
F1008Y
406_407insD
R1207*
0
0", header=FALSE)
DF$V2 <- DF$V1
DF.bak <- DF ## Backups are always nice
DF
# V1 V2
# 1 F1008Y F1008Y
# 2 F1008Y F1008Y
# 3 406_407insD 406_407insD
# 4 R1207* R1207*
# 5 0 0
# 6 0 0
## By default, the columns have been read in as factors. Convert to character
DF[sapply(DF, is.factor)] = lapply(DF[sapply(DF, is.factor)], as.character)
DF[is.na(sapply(DF, as.numeric))] <- 1
# Warning messages:
# 1: In lapply(X = X, FUN = FUN, ...) : NAs introduced by coercion
# 2: In lapply(X = X, FUN = FUN, ...) : NAs introduced by coercion
DF
# V1 V2
# 1 1 1
# 2 1 1
# 3 1 1
# 4 1 1
# 5 0 0
# 6 0 0
相關問題
- 1. 用數字替換字符
- 2. 替換非數字字符
- 3. 用Word_Number替換字數字符串
- 4. Perl用數字替換26個字符
- 5. C++用數字替換字符
- 6. python pandas - 用字符串替換數字
- 7. JQuery/PunBB用字符串替換數字
- 8. 用Haskell中的數字替換字符
- 9. 字符串:用數字替換空格
- 10. 用空字符串替換非數字
- 11. AS2字符串替換字符數組?
- 12. 使用JavaScript替換來替換字符串中的數字?
- 13. 替換字符串字符
- 14. 用空字符串替換非字母數字字符MYSQL
- 15. 用數組中的字符替換字符串中的字符
- 16. 替換「^」字符
- 17. 替換字符
- 18. 替換字符
- 19. 替換字符
- 20. 替換字符
- 21. 字符替換
- 22. python替換字符而不替換已替換的字符
- 23. 用unicode字符替換字符
- 24. MySQL正用空字符替換字符
- 25. 用特殊字符替換字符串
- 26. Java用字符替換字符
- 27. 用字符串替換字符
- 28. 如何用字符串替換字符?
- 29. 用其他字符替換字符
- 30. 用字符串替換字符串java
嗨。我的意思是我想讓「F1008Y」變成1. – Bfu38