Tôi có một số lượng lớn các tập dữ liệu, mỗi tập hợp chứa một danh sách dài các tên cột. Trong một số tệp, tên cột là tất cả các chữ cái viết hoa và trong một số tệp chỉ có chữ cái đầu tiên của tên cột được viết hoa. Tôi cần phải nối thêm các tập dữ liệu và nghĩ cách dễ nhất để khớp tên cột giữa các tập dữ liệu sẽ là chuyển đổi tất cả tên vốn thành các tên chỉ có chữ cái đầu tiên được viết hoa.Thay đổi trường hợp chữ cái của các tên cột
Tôi hy vọng tìm được giải pháp chung, thậm chí có thể là một lớp lót.
Đây là tập dữ liệu mẫu của tôi. Tên mong muốn được bao gồm trong các tuyên bố names
.
my.data2 <- "
landuse units grade CLAY LINCOLN BASINANDRANGE MCCARTNEY MAPLE
apple acres AAA 0 2 3 4 6
apple acres AA 1000 900 NA NA 700
pear acres AA 10.0 20 NA 30.0 40
peach acres AAA 500 400 350 300 200
"
my.data2 <- read.table(textConnection(my.data2), header=TRUE)
names(my.data2)[names(my.data2)=="CLAY"] <- "Clay"
names(my.data2)[names(my.data2)=="BASINANDRANGE"] <- "BasinandRange"
names(my.data2)[names(my.data2)=="LINCOLN"] <- "Lincoln"
names(my.data2)[names(my.data2)=="MCCARTNEY"] <- "McCartney"
names(my.data2)[names(my.data2)=="MAPLE"] <- "Maple"
my.data2
Lưu ý rằng tôi đã bao gồm tên McCartney
và BasinandRange
để làm cho mọi thứ thực tế hơn và khó khăn hơn. Tuy nhiên, nếu tôi có thể tìm thấy một lớp lót để xử lý 95% tên và sử dụng các câu lệnh trên names
để xử lý các biến chứng như McCartney
và BasinandRange
, điều đó thật tuyệt vời.
Tôi đã tìm kiếm trên Internet, bao gồm lưu trữ StackOverflow mà không cần tìm giải pháp. Xin lỗi nếu tôi bỏ qua một. Cảm ơn bạn đã giúp đỡ.
Nó có lẽ sẽ dễ dàng hơn nếu bạn chuyển đổi tất cả các tên cho tất cả-chữ hoa hoặc toàn-chữ thường sử dụng 'toupper' hoặc' tolower', tương ứng. Chuyển đổi chúng thành trường hợp hỗn hợp sẽ khó hơn. –