이 명령으로 데이터 프레임 목록을 만들었습니다. testlist에는 파일 이름이 들어 있습니다.R 데이터 프레임 목록 - 모든 항목에서 특정 열을 선택하는 방법?
data_list = lapply(testlist, read.table)
는 그리고 다음과 같다
[[1]]
V1 V2 V3 V4 V5 V6 V7 V8 V9
1992-01-01 12.062 -1 1.225 1 5.750 1 2.400 0
그래서 I 7 dataframes의리스트가 상기 예에서와 같이 각이 동일한 구조를 갖는다. 목록의 모든 데이터 프레임은 63 개의 열을 가지고 있으며 이제 3 번째 열의 모든 두 번째 열을 선택하고 날씨가 < = 0인지 확인하려고합니다. 그렇다면 바로 앞에 열을 제거하고 싶습니다.
예를 들어 3 열에 -1 값이 있으면 2 열의 항목을 NA 또는 -999로 설정하고 싶습니다.
나는이 만든 :data_list[[1]][, seq (from=3, to=63, by=2)]
을하지만 이것은 단지 첫 번째 항목에 대해 노력하고 있습니다. 내가 데려 갈 때, [[1]] 나는 오류 메시지가이 같은 목록에있는 모든 dataframes 위해 그것을 사용하려는 :
data_list[, seq (from=3, to=63, by=2)]
Error in data_list[, seq(from = 3, to = 63, by = 2)] : incorrect number of dimensions
가 어떻게 목록에있는 모든 dataframe를 선택할 수 있습니다? 그리고 값이 0보다 작거나 같을 때 선택된 열 앞에있는 열을 제거하려면 어떻게해야합니까?
V1= c("20000608", "20000609", "20000610", "20000611", "20000612", "20000613")
V2= seq(5, 30, length=6)
V3= rep(c(-1,0,1), times=2)
V4= seq(10, 60, length=6)
V5= rep(c(1,-1,0), times=2)
testframe1 = data.frame(V1, V2, V3, V4, V5)
x1= c("20030608", "20100609", "20060610", "20040611", "20009612", "20002613")
x2= seq(4, 80, length=6)
x3= rep(c(0,-1,1), times=2)
x4= seq(3, 60, length=6)
x5= rep(c(-1,1,0), times=2)
testframe2 = data.frame(V1=x1, V2=x2, V3=x3, V4=x4, V5=x5)
a1= c("20030602", "20100606", "20060610", "20040511", "20007612", "20002624")
a2= seq(7, 133, length=6)
a3= rep(c(-1,0,1), times=2)
a4= seq(9, 47, length=6)
a5= rep(c(1,0,-1), times=2)
testframe3 = data.frame(V1=a1, V2=a2, V3=a3, V4=a4, V5=a5)
list = list(testframe1, testframe2, testframe3)
당신은 당신의 데이터에'dput'를 사용하는 사람들이 놀 수있는 뭔가가 있도록 게시해야합니다. 여기에 효과가 있을지 모르지만 테스트 할 데이터를 만들지는 않습니다. (data_list [[i]] [, 0]) data_list [[i]] <- data_list [[i]] [, - 2]}' – CCurtis
나는 dput을 사용하는 방법을 알지 못한다. 내가 가지고있는 파일은 거대하다. 그래서 나는 testset을 만드는 것이 더 좋은 생각이라고 생각한다. 나는 하나를 추가 할 것이다! 아, 코드가 작동하지 않으면 다음 오류 메시지가 나타납니다. 경고 메시지 : 1 : if (data_list [[i]] [, 3] <= 0) data_list [[i]] <- data_list [[i]] [, : 조건의 길이가 1 이상이고 첫 번째 요소 만 사용됩니다 – Essi