2017-11-06 1 views
0

마지막 질문이 중복으로 표시되었지만 유사하다고 생각 되긴했지만 답변이 내 데이터 세트에 대한 작동을 찾지 못했습니다. 이런 질문에 대한 옵션은 모두 나를 위해 효과가있는 것 같지 않으며 내가 뭘 잘못하고 있는지 모릅니다! 나는 가능하다면 정말 명확하고 간단한 답을 찾고있다.데이터 세트에서 여러 가지 방법으로 작업하기

Time Carbon1  Carbon2  Carbon3 
0  0.1   0.3   0.1 
0  0.2   0.4   0.1 
24  0.4   0.6   0.2 
24  0.35   0.5   0.2 
48  0.67   0.8   0.3 
48  0.7   0.8   0.4  

내가 각각의 평균을 계산하고 싶습니다 :

나는 이런 식으로 뭔가를 보이는 10 개 개의 다른 탄소 성장 다양한 시점에서 박테리아 종의 ODS보고 RAWDATA라는 데이터 세트가 각 탄소에 대한 시점 - 예 0시에 탄소 1, 24시에 48 시간 등등. 나는 지금까지 몇 가지 시도했지만 아무것도 효과가 없습니다. 내가 읽은 것부터, 모든 수단이 포함 된 새로운 데이터 프레임을 만드는 것은 효과가있을 수 있지만 그 방법을 모르고 있거나 더 간단한 방법이 있습니까?

나는이 옵션을 시도 :

data2 <- setDT(rawdata)[, lapply(.SD, mean), by=.(Time), .SDcols=c("Carbon1","Carbon2")] 

을하지만 WRAPUP 동안 오류를

오류가 발생했습니다 : 잘못된 첨자 형 '목록'.

왜 그런가?

이 내가 무엇을 얻을 때 입력 dput (머리 (RAWDATA))

structure(list(Time = c(0, 0, 0, 0, 0, 0), Sucrose = structure(c(3L, 
6L, 4L, 8L, 7L, 5L), .Label = c("0.0755", "0.0761", "0.0766", 
"0.0771", "0.0773", "0.0774", "0.0781", "0.0786", "0.095", "0.09648", 
"0.09776", "0.11422", "0.11688", "0.11964", "0.12182", "0.13038", 
"0.2506", "0.2598", "0.265", "0.2654", "0.266", "0.2798", "0.2926", 
"0.3039", "0.3621", "0.3832", "0.3903", "0.4012", "0.4308", "0.4323", 
"0.4412", "0.4467", "Sucrose"), class = "factor"), Citric.Acid = structure(c(3L, 
8L, 7L, 2L, 5L, 6L), .Label = c("0.0757", "0.0759", "0.076", 
"0.0761", "0.0767", "0.0769", "0.077", "0.079", "0.11856", "0.12232", 
"0.13074", "0.14048", "0.1421", "0.14796", "0.15006", "0.1536", 
"0.3533", "0.3769", "0.3812", "0.3825", "0.3855", "0.3937", "0.3951", 
"0.3998", "0.5836", "0.6081", "0.6343", "0.6622", "0.6782", "0.6836", 
"0.7016", "0.7454", "Citric Acid"), class = "factor"), Furmaric.Acid = structure(c(4L, 
6L, 5L, 2L, 6L, 7L), .Label = c("0.0758", "0.0762", "0.0764", 
"0.0767", "0.0768", "0.0769", "0.0784", "0.11578", "0.12912", 
"0.13042", "0.13996", "0.14836", "0.14912", "0.15432", "0.16052", 
"0.3031", "0.3217", "0.3243", "0.3306", "0.3307", "0.3318", "0.3333", 
"0.3377", "0.4045", "0.4065", "0.4086", "0.4165", "0.4328", "0.4508", 
"0.466", "0.5077", "Furmaric Acid"), class = "factor"), Glucose = structure(c(1L, 
6L, 5L, 3L, 4L, 7L), .Label = c("0.0765", "0.0767", "0.0769", 
"0.0777", "0.078", "0.0789", "0.0802", "0.09422", "0.09506", 
"0.10346", "0.10648", "0.11776", "0.12116", "0.1291", "0.13206", 
"0.2444", "0.258", "0.2656", "0.2682", "0.2707", "0.2765", "0.2808", 
"0.2961", "0.337", "0.3405", "0.3409", "0.3469", "0.3623", "0.3824", 
"0.3875", "0.393", "Glucose"), class = "factor"), Glutamine = structure(c(7L, 
6L, 3L, 3L, 5L, 4L), .Label = c("0.0763", "0.0764", "0.078", 
"0.0781", "0.0786", "0.0789", "0.0832", "0.23338", "0.2527", 
"0.25352", "0.25358", "0.259", "0.261", "0.26916", "0.27426", 
"0.353", "0.3595", "0.3628", "0.3788", "0.389", "0.396", "0.4021", 
"0.4087", "0.4168", "0.4551", "0.4576", "0.4683", "0.4802", "0.4886", 
"0.5184", "0.5405", "Glutamine"), class = "factor"), Histidine = structure(c(4L, 
5L, 7L, 3L, 6L, 1L), .Label = c("0.0768", "0.0769", "0.0772", 
"0.0775", "0.078", "0.0781", "0.0796", "0.0865", "0.08678", "0.08904", 
"0.08908", "0.0892", "0.09098", "0.0948", "0.09814", "0.1442", 
"0.1553", "0.1687", "0.1706", "0.1715", "0.1725", "0.1736", "0.1839", 
"0.2972", "0.3041", "0.3152", "0.321", "0.3217", "0.3226", "0.345", 
"Histidine"), class = "factor"), Arabinose = structure(c(3L, 
2L, 4L, 10L, 6L, 5L), .Label = c("0.0761", "0.0767", "0.0771", 
"0.0772", "0.0775", "0.0781", "0.0786", "0.08356", "0.084", "0.0863", 
"0.0873", "0.08758", "0.08806", "0.08996", "0.09204", "0.1121", 
"0.1123", "0.1173", "0.1195", "0.1207", "0.1263", "0.1269", "0.1297", 
"0.1321", "0.1329", "0.1349", "0.1478", "0.1499", "0.1522", "0.1796", 
"0.18712", "0.223", "Arabinose"), class = "factor"), Maleic.Acid = structure(c(4L, 
6L, 4L, 5L, 2L, 7L), .Label = c("0.0756", "0.0759", "0.0762", 
"0.0768", "0.0772", "0.0774", "0.0794", "0.08174", "0.08244", 
"0.08264", "0.08312", "0.0832", "0.08894", "0.09218", "0.0941", 
"0.1119", "0.1161", "0.1173", "0.1179", "0.1227", "0.124", "0.1243", 
"0.1279", "0.12804", "0.1299", "0.1305", "0.1426", "0.1502", 
"0.1562", "0.1596", "0.1638", "Maleic Acid"), class = "factor"), 
    Serine = structure(c(5L, 7L, 4L, 5L, 3L, 6L), .Label = c("0.0759", 
    "0.0761", "0.0765", "0.0775", "0.0776", "0.0778", "0.0783", 
    "0.0808", "0.0831", "0.08386", "0.0845", "0.0846", "0.08534", 
    "0.08744", "0.0891", "0.0909", "0.09392", "0.1117", "0.1127", 
    "0.1137", "0.1181", "0.1184", "0.1199", "0.1205", "0.1221", 
    "0.1236", "0.1283", "0.1352", "0.1376", "0.1398", "0.1405", 
    "Serine"), class = "factor"), Mix = structure(c(6L, 7L, 4L, 
    5L, 1L, 2L), .Label = c("0.076", "0.0769", "0.0771", "0.0772", 
    "0.0787", "0.0788", "0.0809", "0.08128", "0.08164", "0.0842", 
    "0.0865", "0.08664", "0.08746", "0.08788", "0.09592", "0.1597", 
    "0.1651", "0.1711", "0.1736", "0.1839", "0.1842", "0.1869", 
    "0.1957", "0.2861", "0.3118", "0.3166", "0.3212", "0.3304", 
    "0.3741", "0.383", "0.4112", "Mix"), class = "factor")), .Names = c("Time", 
"Sucrose", "Citric.Acid", "Furmaric.Acid", "Glucose", "Glutamine", 
"Histidine", "Arabinose", "Maleic.Acid", "Serine", "Mix"), .internal.selfref = <pointer: (nil)>, row.names = c(NA, 
6L), class = c("data.table", "data.frame")) 

감사합니다!

+0

? 해당 언어의 '답이없는 질문'목록에 질문이 표시되도록 태그가 있어야합니다. –

+0

그건 r, 내가 태그를 붙인 줄 알았는데 – Roseanna

+0

당신의'data.table' 해결책이 저에게 맞습니다. – PoGibas

답변

2

는 tapply 인덱스 변수를 통해 의미, 데이터 프레임 용융이가 사용하는 어떤 프로그래밍 언어

> head(rawdata) 
    Time Carbon1 Carbon2 Carbon3 
1 0 0.10  0.3  0.1 
2 0 0.20  0.4  0.1 
3 24 0.40  0.6  0.2 
4 24 0.35  0.5  0.2 
5 48 0.67  0.8  0.3 
6 48 0.70  0.8  0.4 


> d = reshape2::melt(rawdata,id="Time") 
> head(d) 
    Time variable value 
1 0 Carbon1 0.10 
2 0 Carbon1 0.20 
3 24 Carbon1 0.40 
4 24 Carbon1 0.35 
5 48 Carbon1 0.67 
6 48 Carbon1 0.70 


> tapply(d$value, list(d$Time, d$variable), mean) 

    Carbon1 Carbon2 Carbon3 
0 0.150 0.35 0.10 
24 0.375 0.55 0.20 
48 0.685 0.80 0.35 
+0

안녕하세요, 감사합니다. 나는 그것이 작동해야한다고 생각하지만, tapply 단계에 이르면 나는 다음 경고 메시지 40 개를 얻는다 : 'mean.default (X [[i]], ...) : 인수가 숫자 또는 논리가 아니다. NA '. 이 문제를 일으킬 수있는 아이디어가 있습니까? – Roseanna

+1

데이터가 숫자가 아닙니다. 거기에 성격의 가치가 있습니다. * 항상 * 데이터 유형을 확인하십시오. – Spacedman

관련 문제