많은 파일이 있으며 각 파일에 고유 한 ID 코드를 자동으로 부여해야합니다.목록에있는 파일의 각 행에 고유 한 ID를 부여하십시오.
는 지금까지, 나는 다음과 같이 관리해야 : 새 컬럼에 파일의 이름을두고
datalist <- mapply(cbind, datalist, "temp1"=names(datalist), SIMPLIFY=F)
합니다.
그러나 각 파일의 1 : 행 수에서 추가하고 싶습니다.
두 가지 시도를했지만 실제로 작동하지 않을 것으로 예상됩니다. (나는 함께 붙여넣고 'temp'열을 삭제할 것입니다. 그런 다음 하나에서 수행하는 방법을 알아냅니다. 임시 열이없는 단계) :
datalist <- mapply(cbind, datalist, "temp2"=1:(sapply(datalist, nrow)), SIMPLIFY=F)
또는
datalist <- mapply(cbind, datalist, "temp2"=1:nrow(datalist), SIMPLIFY=F)
내가 목록 (
nrow(datalist[[1]])
)의 단일 비트의 행의 수를 얻을 수 있지만, 모두에 그것을 적용하는 방법을 확실하지 오전 수
목록에있는 사람들의 수에 관계없이
for 루프입니까, 아니면 더 좋은 방법이 있습니까?
예 데이터 세트 :
datalist <- structure(list(test.raw.data = structure(list(officer.sw = c("bob",
NA, "brian", "brian", NA), officer.ne = c(NA, "angie", NA, NA,
NA), officer.nw = c(NA, NA, NA, NA, "lola")), .Names = c("officer.sw",
"officer.ne", "officer.nw"), class = "data.frame", row.names = c(NA,
-5L)), test2.raw.data = structure(list(officer.sw = c("bob",
"NA", "brian", "brian", "NA", "bob", "NA", "bob", "bob", "NA",
"NA"), officer.ne = c("NA", "angie", "NA", "NA", "NA", "NA",
"sandy", "NA", "NA", "NA", "NA"), officer.nw = c("NA", "NA",
"NA", "NA", "lola", "NA", "NA", "NA", "NA", "lola", "NA"), officer.EM = c("NA",
"NA", "NA", "NA", "NA", "NA", "NA", "NA", "NA", "NA", "mr bendy"
), randomothercol = c("angie", "b", "c", "e", "d", "fg", "t",
"wsefg", "aweg", "lola", "g")), .Names = c("officer.sw", "officer.ne",
"officer.nw", "officer.EM", "randomothercol"), class = "data.frame", row.names = c(NA,
-11L))), .Names = c("test.raw.data", "test2.raw.data"))
은 어떻게 든, 이러한 답변,'이름 (DataList에) 모두를 테스트 한 후'NULL' ... 난 아직도 나중에에 대한 목록 요소의 이름을 필요로'지금, 나는 eentirely 모르겠어요 왜를 삭제 중입니까? – Froom2
원래 'datalist'의 이름은이 객체에 새 값을 할당 한 경우에만 변경됩니다. 내 솔루션은 원래 개체를 변경하지 않습니다. 원한다면 내 대답의 결과를 쉽게 바꿀 수 있습니다. 예를 들어'names (...) <- names (datalist)'를 사용합니다. – Andrie
고마워요 :) 예, 집에 돌아간 후 어젯밤에 다시 할당하는 것에 대해 생각했습니다. 도와 줘서 고마워! 이러한 답변 중 어느 것이 똑같은지 알지 못합니다. 둘 다 비슷합니다! – Froom2