에서 행에 의한 데이터 프레임의 행을 건물 : 나는 데이터 프레임이 데이터를 저장할내가 R이과 같은 데이터 구조를 분석하고 목록
[
{ 'firstName': 'abc', 'lastName' : 'def' },
{ 'firstName': 'abc2', 'lastName' : 'def2' }
]
. 현재 나의 접근 방식은 결함이있어 정말 지저분 해 보인다. 여러 데이터 세트가 있지만 열을 지정해야합니다. 누구나 뭔가 '깨끗한'것을 제안 할 수 있습니까?
문제 1 : 내가 열 이름을 사용하지 않고이 추출 가능한 경우를 실행하고자, 또는 내가 그에서 열을 추출하는 방법으로 할 데이터의 이름
library(rjson)
listData <- fromJSON(jsonData)
listNames <- c('firstName', 'lastName')
for (player in listData){
playerCols = c()
for (name in listNames){
value <- player[[name]]
if (is.null(value}{value <- "NA"}
playerCols <- c(playerCols, value)
}
# code to convert playerCols to data.frame currently goes here.
}
를 지정해야 내가 따라 가면서 데이터. 여기 까다로운 부분은 각 항목에 모든 열이 채워지지 않는다는 것입니다. 내가 NA
문제 2에 모든 열을 설정하고 누락 된 값을 알 수있는 마지막 데이터 프레임을하고 싶습니다 : 나는 데이터의 행을 추가 실패하는 것 대신에 목록 열로 만들어집니다
for (player in listData){
# code to extract columns here
df = data.frame(playerCols, name=listNames)
print(df)
}
모든 데이터와 모든 이름을 포함하는 행이있는 2 열 데이터 프레임을 만드는 대신 이름이 지정된 열이있는 단일 행을 사용하여 rbind
을 함께 사용할 수 있습니다.
'unlist' 대신'c (sapply (listData, names))'예외를 사용하여 완벽하게 작동합니다. – Hans