0 like 0 dislike

chào các bạn, mình có câu hỏi nhỏ, rất mong được mọi người trợ giúp: chẳng hạn, mình có biến nghề nghiệp, biến này có 3 thuộc tính là nông dân, công nhân, khác. giả sử thuộc tính nông dân có 0 người; thuộc tính công nhân có 10 người; khác có 2 người. Mình muốn gộp giá trị 0 của thuộc tính nông dân vào 10 của thuộc tính công nhân để chỉ còn 2 thuộc tính là công nhân (10), khác (2), nếu vậy trong phần mềm R, mình phải dùng câu lệnh gì ?

closed with the note: Đã giải quyết
in Thống kê và Tin học by
closed by

1 Answer

0 like 0 dislike

Ví dụ với dữ kiện tên là data, biến số là nghenghiep với các giá trị

  1. nongdan
  2. congnhan
  3. khac

Câu lệnh như sau

# để ghi chú trong R
data$nghenghiep[data$nghenghiep=="nongdan"] = "congnhan"
by Biên tập viên (3.9k points)
edited by
0 0

Cảm ơn anh, nhưng vẫn không được, e có làm thử rồi:

# Tô đen, nhấn nút Code Sample phía trên để highlight code
> tab1r(a2)
Tabulation of  a2 
             Frequency Percent Cum. percent
nongdan              0     0.0          0.0
congnhan            96    66.7         66.7
congvienchuc         8     5.6         72.2
buonban              8     5.6         77.8
sinhvien             1     0.7         78.5
noitro              31    21.5        100.0
thatnghiep           0     0.0        100.0
khac                 0     0.0        100.0
  Total            144   100.0        100.0
> a$a2[a$a2=="nongdan"]="congnhan"
> tab1r(a2)
Tabulation of  a2 
             Frequency Percent Cum. percent
nongdan              0     0.0          0.0
congnhan            96    66.7         66.7
congvienchuc         8     5.6         72.2
buonban              8     5.6         77.8
sinhvien             1     0.7         78.5
noitro              31    21.5        100.0
thatnghiep           0     0.0        100.0
khac                 0     0.0        100.0
  Total            144   100.0        100.0 

HOẶC:

# Tương tự, tô đen và nhấn Ctrl+K
 > a$a2[a$a2=="sinhvien"]="congnhan"
> tab1r(a2)
Tabulation of  a2 
             Frequency Percent Cum. percent
nongdan              0     0.0          0.0
congnhan            96    66.7         66.7
congvienchuc         8     5.6         72.2
buonban              8     5.6         77.8
sinhvien             1     0.7         78.5
noitro              31    21.5        100.0
thatnghiep           0     0.0        100.0
khac                 0     0.0        100.0
  Total            144   100.0        100.0

==>thuộc tính nông dân hoặc công nhân đều không được gộp lại với thuộc tính công nhân. hic

0 0

Lần sau bạn bôi đen phần code R và nhấn Ctrl+K hay nút thứ 5 phía trên
Bạn làm lại, nếu a là tên dữ kiện, a2 tên biến, bạn gõ đúng như code trước

remove(a2) # tránh trường hợp có đối tượng cùng tên
table(a$a2)
a$a2[a$a2=="nongdan"]="congnhan"
table(a$a2) # gõ cả tên dữ kiện và tên biến

Và so hai kết quả, tab1r là lệnh gì? với lại bạn hạn chế attach dữ kiện và chỉ gõ tên biến số không vì có thể chương trình còn chứa các đối tượng khác có cùng tên mà bạn không biết.

0 0

Cảm ơn anh.
Mình chỉ gộp được giá trị thôi đúng không anh, còn thuộc tính thì nó vẫn không bị mất, nếu e muốn gộp luôn thuộc tính thì được không ạ ??

0 0

Không hiểu ý của bạn? thuộc tính và giá trị?

Thực ra dữ kiện trên của bạn không hiểu tại sao lại chứa giá trị có tần số bằng 0??

Nếu bạn muốn sử dụng một biến số để phân tích thì cần loại hết các giá trị đó ra, ví dụ

# tạo biến số mới chỉ chứa các giá trị có tồn tại
a$nghenghiep[a$a2=="congnhan" | a$a2=="sinhvien"]="congnhan" # dấu | là hoặc
a$nghenghiep[a$a2=="congvienchuc"]="congvienchuc"
a$nghenghiep[a$a2=="buonban"]="buonban"
a$nghenghiep[a$a2=="noitro"]="noitro"
table(a$nghenghiep)
0 0

Em làm được rồi, cảm ơn anh nhiều nha.^^

Related questions

0 like 0 dislike
1 answer
0 like 0 dislike
1 answer
0 like 0 dislike
1 answer
asked Jul 7, 2014 in Thống kê và Tin học by JBKEulalia2 (100 points) | 2.2k views
0 like 0 dislike
1 answer
0 like 0 dislike
1 answer
asked Apr 9, 2015 in R by Thanh Thùy | 289 views