2017-02-22 2 views
-1

Я работаю с 6 станциями, которые в настоящее время являются первым столбцом после столбца заголовка (жирным шрифтом) в моей консоли R. Мне нужно получить его так, чтобы мои станции/обработки находились в колонке заголовка. Я сделал это с другими данными раньше, и он отлично работает, но я получаю сообщение об ошибке при работе с этим новым файлом csv.Изменение кадра данных, чтобы он не включал первый столбец, но включая обработку. Работа в R

код я использую:

stations<-as.factor(Data$Sites) 
Data2<-data.frame(Data[,-1], row.names=Data[,1]) #Data refers to my file name 

Ошибка я получаю:

Error in data.frame(Data[, -1], row.names = Data[, 1]) :
'row.names' should specify one of the variables

Exampled данных, где мой код создает ошибку:

# A tibble: 6 × 5 
     Sites AB1 AB2 AB3 AB4 
     <chr> <int> <int> <int> <int> 
    1 NS1  0  0  1  2 
    2 S27  2  2  0  2 
    3 S28  3  0  5  3 
    4 NS29  0  6  7  0 
    5 NS31  3  0  1  0 
    6 S44  0  1  8  0 

Пожалуйста, кто может скажите мне, что не так с моим существующим кодом или кодом, который будет выполнять ту же работу.

Выход str(data):

Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 6 obs. of 95 variables: 

$ Sites : chr "NS1" "S27" "S28" "NS29" ... 
$ AB1 : int 0 2 0 5 7 1 
$ AB104 : int 2 0 0 31 0 0 
$ AB105 : int 1 0 0 0 0 0 
$ AB107 : int 1 0 0 0 0 0 
$ AB110 : int 1 0 0 0 0 0 
$ AB111 : int 1 0 0 0 0 0 
$ AB113 : int 1 0 0 0 0 0 
$ AB114 : int 1 0 0 0 0 0 
$ AB115 : int 1 0 0 0 0 0 
$ AB121 : int 0 30 0 166 94 4 
$ AB128 : int 0 0 0 13 0 0 
$ AB129 : int 0 0 0 13 1 0 
$ AB131 : int 0 5 0 4 2 0 
$ AB136 : int 0 1 0 4 3 0 
$ AB137 : int 0 0 0 5 0 0 
$ AB140 : int 0 0 0 12 0 0 
$ AB141 : int 0 0 0 14 1 0 
$ AB142 : int 0 0 0 2 0 0 
$ AB143 : int 0 0 0 1 0 0 
$ AB144 : int 0 0 0 3 1 0 
$ AB145 : int 0 5 0 0 3 503 
$ AB147 : int 0 7 1 0 0 10 
$ AB148 : int 0 0 0 0 0 1 
$ AB149 : int 0 0 0 0 0 2 
$ AB150 : int 0 0 0 0 0 1 
$ AB151 : int 0 0 0 0 0 5 
$ AB152 : int 0 0 0 0 0 1 
$ AB153 : int 0 0 0 0 0 1 
$ AB154 : int 0 0 0 0 0 2 
$ AB156 : int 0 0 0 0 1 1 
$ AB16 : int 1 1 0 0 10 3 
$ AB160 : int 0 0 0 0 2 0 
$ AB164 : int 0 0 0 0 1 0 
$ AB169 : int 2 0 0 31 0 0 
$ AB17 : int 1 154 33 14388 1018 158 
$ AB170 : int 0 0 0 0 0 1 
$ AB171 : int 0 0 0 82 1 6 
$ AB172 : int 0 4 0 2 0 0 
$ AB174 : int 0 7 0 0 0 0 
$ AB175 : int 0 1 0 0 0 0 
$ AB18 : int 0 2 6 0 0 2 
$ AB19 : int 3 54 83 0 25 18 
$ AB2 : int 0 19 2 8 6 5 
$ AB20 : int 0 0 1 0 3 2 
$ AB21 : int 0 24 1 3 41 4 
$ AB228 : int 0 1 0 0 0 0 
$ AB24 : int 0 0 0 1 0 0 
$ AB26 : int 0 3 11 2 1 0 
$ AB27 : int 0 39 17 8 6 28 
$ AB28 : int 2 49 41 1 94 43 
$ AB30 : int 47 89 100 24 32 20 
$ AB31 : int 0 3 2 1 1 2 
$ AB32 : int 2 4 8 19 4 1 
$ AB36 : int 0 0 1 1 0 1 
$ AB38 : int 6 0 0 1 2 1 
$ AB4 : int 0 0 0 0 1 0 
$ AB41 : int 0 4 2 0 0 6 
$ AB42 : int 1 1 0 2 0 0 
$ AB43 : int 0 106 75 161 274 109 
$ AB45 : int 0 0 0 1 4 2 
$ AB48 : int 0 13 8 0 5 22 
$ AB53 : int 0 0 14 0 0 0 
$ AB54 : int 0 0 2 0 0 2 
$ AB56 : int 0 0 0 1 0 1 
$ AB57 : int 0 0 0 0 1 0 
$ AB59 : int 0 1 1 1 0 0 
$ AB60 : int 0 3 0 0 0 0 
$ AB64 : int 0 0 1 0 0 0 
$ AB65 : int 0 0 1 0 0 0 
$ AB68 : int 0 0 1 0 0 0 
$ AB69 : int 0 0 3 0 0 0 
$ AB7 : int 4 9 2 21 16 6 
$ AB70 : int 0 0 1 0 0 0 
$ AB71 : int 0 0 7 0 0 0 
$ AB72 : int 0 0 1 0 0 0 
$ AB73 : int 0 0 2 0 0 0 
$ AB74 : int 0 2 1 0 0 5 
$ AB75 : int 0 0 1 0 0 0 
$ AB76 : int 0 0 3 0 0 0 
$ AB77 : int 16 0 2 0 2 3 
$ AB78 : int 0 0 2 0 0 1 
$ AB79 : int 0 0 8 0 0 0 
$ AB80 : int 0 0 1 0 0 0 
$ AB85 : int 0 0 1 0 0 4 
$ AB86 : int 0 5 1 6 0 0 
$ AB88 : int 0 0 1 0 1 0 
$ AB90 : int 0 0 1 0 0 0 
$ AB91 : int 0 0 1 0 0 0 
$ AB92 : int 0 0 1 0 0 3 
$ AB93 : int 0 0 1 0 0 0 
$ AB98 : int 15 0 0 0 0 0 
$ OTU231: int 2 37 114 3 9 55 
$ OTU339: int 0 5 2 1 3 10 
$ OTU347: int 0 499 123 0 0 14 
- attr(*, "spec")=List of 2 
    ..$ cols :List of 95 
    .. ..$ Sites : list() 
    .. .. ..- attr(*, "class")= chr "collector_character" "collector" 
    .. ..$ AB1 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB104 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB105 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB107 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB110 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB111 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB113 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB114 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB115 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB121 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB128 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB129 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB131 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB136 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB137 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB140 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB141 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB142 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB143 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB144 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB145 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB147 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB148 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB149 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB150 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB151 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB152 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB153 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB154 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB156 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB16 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB160 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB164 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB169 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB17 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB170 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB171 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB172 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB174 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB175 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB18 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB19 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB2 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB20 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB21 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB228 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB24 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB26 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB27 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB28 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB30 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB31 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB32 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB36 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB38 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB4 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB41 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB42 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB43 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB45 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB48 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB53 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB54 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB56 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB57 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB59 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB60 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB64 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB65 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB68 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB69 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB7 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB70 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB71 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB72 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB73 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB74 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB75 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB76 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB77 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB78 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB79 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB80 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB85 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB86 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB88 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB90 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB91 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB92 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB93 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ AB98 : list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ OTU231: list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ OTU339: list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    .. ..$ OTU347: list() 
    .. .. ..- attr(*, "class")= chr "collector_integer" "collector" 
    ..$ default: list() 
    .. ..- attr(*, "class")= chr "collector_guess" "collector" 
    ..- attr(*, "class")= chr "col_spec" 

Выход str(data[,1]): chr [1:6] "NS1" "S27" "S28" "NS29" "NS31" "S44"

+0

Это работает для меня на тестовом data.frame. Пожалуйста, поделитесь примером data.frame, где это не работает для вас. Взгляните на этот пост на [создании отличного примера в R] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – lmo

+0

@lmo - Я не уверен, как это сделать - очень новое для кодирования и stackoverflow. –

+0

Лучше всего с 'dput'. Скопируйте результаты чего-то типа 'dput (df)' в ваш вопрос. См. Ссылку в моем комментарии выше для более подробной информации. – lmo

ответ

0

Чтобы предотвратить разбив вещи в комментариях, код

df <- read.table(header=TRUE, text=" Sites AB1 AB2 AB3 AB4 
1 NS1  0  0  1  2 
2 S27  2  2  0  2 
3 S28  3  0  5  3 
4 NS29  0  6  7  0 
5 NS31  3  0  1  0 
6 S44  0  1  8  0") 

df2 <- data.frame(df[,-1], row.names=df[,1]) 

работает без ошибок и производит

df2 
    AB1 AB2 AB3 AB4 
NS1 0 0 1 2 
S27 2 2 0 2 
S28 3 0 5 3 
NS29 0 6 7 0 
NS31 3 0 1 0 
S44 0 1 8 0 

С вашего вывода, похоже, что это должно работать. Вы можете попытаться быть супер-явным:

df2 <- data.frame(as.data.frame(df[,-1]), row.names=as.character(df[,1])) 

Замена df на имя вашего data.frame, как описано в комментариях.

В качестве альтернативы, в две линии

df2 <- as.data.frame(df[,-1]) 
row.names(df) <- as.character(df[,1]) 
+0

Спасибо, не возражаете, если я спрошу, в какой компьютерной системе вы используете эту и какую версию R? Единственное, что я могу придумать, это изменить ситуацию, возможно, тот факт, что я работаю над Mac; Я использую новейшую версию R. –

+0

Спасибо. Итак, работающая система не должна иметь никакого значения. Код выше дает мою еще одну ошибку: Ошибка в nofish [, 1]: объект типа «закрытие» не является подмножеством –

+0

Мой csv - «nofish». Если я запустил 'nofish2 <-data.frame (df [, - 1], row.names = df [, 1]) «Я также получаю« Ошибка в df [, 1]: объект типа «замыкание» не является подмножеством ». Я думал, что проблема будет связана с 1 и -1, но когда я меняю их и запускаю MDS, это не делает правильную вещь. Извините, если вопросы/понимание кажутся основными, я совершенно новичок в R и изучил только базовые непараметрические тесты. Я очень ценю вашу помощь! –

Смежные вопросы