나는 R에 상대적으로 신참입니다. 나는 이것을 알아 내려고 노력한 마지막 두 근무일을 찾아 보았습니다. 함수에 의해 생성 된 요소 목록이 있습니다. 나는 길이가 다른 목록에 9 개의 항목이 있습니다. 데이터의 샘플의데이터 프레임 목록 인쇄
>summary(list_dataframes)
Length Class Mode
[1,] 1757 factor numeric
[2,] 1776 factor numeric
[3,] 1737 factor numeric
[4,] 1766 factor numeric
[5,] 1783 factor numeric
[6,] 1751 factor numeric
[7,] 1744 factor numeric
[8,] 1749 factor numeric
[9,] 1757 factor numeric
파트가 나오는대로 :
list_dataframes
[[1]]
[1] 1776234_at 1779003_at 1776344_at 1777664_at 1772541_at 1774525_at
[[2]]
[1] 1771703_at 1776299_at 1772744_at 1780116_at 1775451_at 1778821_at
[7] 1774342_at
[[3]]
[1] 1780116_at 1776262_at 1775451_at 1780200_at 1775704_at
는 모드 "숫자"말한다 이유는 확실하지 않다. 개별 항목은 숫자와 "S35_at"와 같은 문자가 혼합 된 것입니다.
중복 된 값을 만들지 않고이를 9 열 1783 행의 테이블로 만들고 싶습니다. (그러므로 do.call을 사용하여 시도해 보았지만 작동하지 않았다.) 중복 된 것으로 가득 찼다.) 짧은 공백은 빈 공백에 NA를 붙이거나 비워 둘 수있다.
결국 스프레드 시트에 넣을 수있는 무언가로 끝나야합니다.
이렇게하는 방법이 있어야합니다. 고맙습니다!
데이터의 4 열을 가져 왔지만 데이터의 한 열만 필요할 때 데이터 프레임이 처음에 추가되었다고 추측합니다.이 목록을 생성하는 함수를 부분 집합으로 만들면 하나의 열만 만들 수 있습니다. 실제로는 더 이상 데이터 프레임이 아닌 것처럼 보입니다. 내가 만들고 싶어하는 많은 독서 후
a b c
xyz xyz tuv
tuv tuv efg
efg efg hij
hij NA NA
NA NA NA
NA could be blank as well.
을하는 테이블
a= xyz,tuv,efg,hij,def
b= xyz,tuv,efg
c= tuv,efg,hij,def
:
dput(head(list_dataframes))
list(structure(c(3605L, 5065L, 3663L, 4349L, 1655L, 2700L, 5692L, plus many more
.Label = c("1769308_at",
"1769311_at", "1769312_at", "1769313_at", "1769314_at", "1769317_at", plus many more
this pattern is repeated nine more times
는 내가 뭘하려고 같을 것이다 테이블을 생성 할 것입니다 목록에 대한 수동 섹션 나는 내가 목록의 묻힌 목록을 생성했다고 판단했습니다. 그것은 내가 원하는 자료가있는 9 개의 항목을 가지고 있습니다. 즉 두 층을 묻었습니다. 즉 [1]을 사용해야했습니다. 또한 단일 열 데이터 프레임이 데이터 프레임을 유지하는 대신 요인이되는 결과를 초래하는 R의 무언가 때문에 더 복잡했습니다. 그것을 해결하기 위해 (일종의) 내 방정식에 한 단계를 더하여 그 요인을 데이터 프레임으로 변경했습니다.
그 후, 내 결과를 생성하기 위해 lapply를 사용할 때 적어도 요인 문제가 해결되었습니다. 그런 다음 다음 단계를 사용하여 데이터 프레임을 꺼낼 수 있습니다.
first <- list_dataframes[[1]]
second <- list_dataframes[[2]]
third <- list_dataframes[[3]]
fourth <- list_dataframes[[4]]
fifth <- list_dataframes[[5]]
sixth <- list_dataframes[[6]]
seventh <- list_dataframes[[7]]
eighth <- list_dataframes[[8]]
nineth <- list_dataframes[[9]]
all_results <- cbindX(first,second,third,fourth,fifth,sixth,seventh, eighth,nineth)
그러면 write.csv를 사용하여 csv 파일을 작성한 다음 올바른 결과를 얻을 수있었습니다. 그래서 나는 내 대답을 추측한다. 지금은 작동한다는 뜻입니다.
그러나 나는 여전히 나에게 올바른 결과를주고 있지만이 작업을 최적으로 수행 할 때 뭔가를 놓치고 있다고 생각한다.
데이터 집합의 하위 집합을 표시하는 재현 가능한 예제를 게시 할 수 있습니다 (아마도 10-20 행이 있음). –
해당 데이터에 매우 제한된 중복이 있습니다. 귀하의 초기 설명은 높은 중첩을 제안했습니다. 주의를 기울여야겠습니까? –
그것은 내가 중요하게 여기는 특정 가치가있는 작업 목록입니다. 서브 세트는 모두 동일한 4500의 더 큰 세트에서 가져오고 둘 사이에는 약간의 중복이 있지만 많지는 않습니다. do.call에서 중복 된 문제는 최종 열 세트에 50 또는 60 개의 중복이 있다는 것입니다. 스프레드 시트에서 수동으로 제거 할 수는 있지만 프로그램을 배우는 요점을 무너 뜨릴 수 있습니다. –