Вы можете преобразовать свою таблицу во фрейм данных, а затем в подмножество. Это может быть самый простой способ.
Давайте назовем вашу таблицу «tab», а новый фрейм данных «df».
df<-as.data.frame(tab)
Теперь намного проще установить подмножество на основе вашего интересующего столбца. Мы сделаем еще один df с именем "df_subsetted", подмножеством df на основе значения для Col1.
df_subsetted<-df[df$Col1==1,]
Или, если вы хотите использовать функцию фильтра.
require(dplyr)
df_subsetted<-filter(df, Col1==1)
Нет никакого права, или неправильно ответьте, действительно. Но я думаю, что Вы извлечете выгоду больше из изучения Python. Учитывая общие черты между C# и C++, Вы узнаете о другом образе мыслей из Python. Чем больше способов Вы учитесь думать о проблеме, тем лучше она делает Вас как программиста, независимо от языка.
Попробуйте LISP вместо этого (или впоследствии, это - Ваш вызов). Вы по крайней мере частично правы, все же. использование Python некоторое время заставляет Вас не хотеть возвращаться к и скомпилированному языку со статическим контролем типов. Это просто sooo намного более удобно для не угождения компилятора как ВСЕ ВРЕМЯ ;). И все же другим аспектом является удобочитаемость кода Python, который является потрясающим.
Это правда. После изучения Python все остальное будет походить на слишком большое усилие для того же объема реальной сделанной работы. Вы привыкнете к чистому, маленькому синтаксису и свободе GC. Вы будете любить работать в аккомпанементах списка, генераторах, и т.д. Вы начнете думать в Python и C++, и Java будет похож на создание поставки в бутылке одна хрупкая небольшая палка за один раз.
Но так как случается так, что намного легче, разве это не заставляет Вас пробовать все это больше?
Я учился в порядке:
Я не чувствую, что Python запретил мою способность изучить или использовать C++. Я рад, хотя это, я изучил указатели в Паскале прежде, чем встретиться со ссылочными типами в Java, Python и C#, потому что я чувствую это, дало мне хорошую основу для понимания идеи различий между "типами значения" и "ссылочными типами". Я думаю для меня, самыми важными из тех языков является Python, Haskell и C++. Все они дополняют друг друга, и хотя существуют времена, я работаю в одном и желании, у меня была функция от другого, в целом я думаю, что извлекаю выгоду значительно из более глубокого понимания вещей как системы типов, объектная ориентация и метапрограммирование путем наблюдения различных способов, которыми эти языки приближаются к этим вещам.
Со служебной точки зрения хорошо выучить один из более динамических языков как Python (или Ruby или Perl) также. Мало того, что они расширяют Ваш ум, но и они выше к определенным видам задач. Если Вы хотите управлять текстом, например, C++ намного более трудно использовать, чем Python. Это дает Вам другую стрелку в Вашей дрожи для использования в надлежащих случаях.
Вы могли выучить новый язык программирования, как Python, и использовать его, чтобы сделать все задачи, которые Вы будете обычно выполнять на своих 'базовых' языках; или Вы могли взять язык (как Python или жемчуг) и использовать его для дополнения базового языка.
Вы могли изучить VBScript и использовать его для записи сценариев, которые склеивают код и других. Если Вы хотите что-то меньше Microsoft, то Python, жемчуг или сценарии удара были бы хорошей идеей - не только, чтобы изучить, как кодировать в новом, но также и как сделать вещи по-другому по сравнению с обычным 'кодом приложение' путь.
Это до того, что точно является видом приложений, которые Вы хотите программировать, например, для Веб-сайтов, которые должны получить доступ к базам данных, я пошел бы для Ruby (и платформа Ruby on Rails), для финансовых приложений или приложений, для которых нужна большая параллельная обработка, я пошел бы для funcional языка программирования как Haskell, oCaml или новый F#, эти последние 3 wil делают Вас лучшим программистом, даже если Вы не программируете много в них, по тому, как c# был в последнее время в последних версиях, добавляющих все больше funcional программирование опций. Я изучил бы Python для безопасности и использую виды приложений.
Flex Ваш мозг и улучшает Ваш набор навыков. Дайте функциональному языку водоворот.
Узнающие больше языки могут только сделать Вас лучшим разработчиком, независимо от их подхода. Кроме того, Ваш опыт с C++ (или, по крайней мере, C) пригодится для записи высокоэффективных частей Ваших приложений с помощью API Python C, который позволяет "сырым данным" C, и код C++ смешиваются приятно с чистым материалом Python.
Я все еще пишу код в Objective C (1.0... перед управлением памятью) и Python ежедневно. Разнообразие является на самом деле забавой вместо запутывающего; мешает вещам быть скучным.
Python дополнителен к C++ и легок интегрироваться с C++. (Как доказательство этого требования, гуру C++ от Повышения используют Python.)
И поскольку Вы сказали, Python дает Вам способ получить перспективу вне орбиты Microsoft. Но даже там, если необходимо интегрировать Python с инструментами MS, существует IronPython.
Я не думаю, что "Python делает Вас ленивыми" (хороший заголовок, так или иначе!).
Наоборот, в программировании как в жизни, зная больше чем один язык важно; я думаю, что Вы найдете Python забавным и достаточно отличающимся от C++ или C# так, чтобы языки не были смешаны в Вашей голове...
Ну, я изучил Python после C/C++, Java и C#. Python является большим языком, и его простота и непротиворечивость улучшили способ, которым я кодирую. Это также помогло мне думать более ясно об алгоритмах, лежащих в основе моего кода. Я мог продолжить о преимуществах, которые это дало мне, вместо этого я буду суммировать причину изучить это->
Изучение нового lanuage не устраняет, оно добавляет к Вашему навыку программирования и сохраняет Вас резкими, уча Вам сместиться между настроениями, которых требует каждый язык.
Поэтому пойдите туда и изучите Python. Ваш код улучшится (ТМ).
P.S.
1. Вы потеряете C++ (или любой другой язык) навыки при пренебрежении их содержания и maintainance. Это полностью ваше дело.
2. Программист (интеллектуальная) лень является достоинством.
Многие утверждали бы, что Вы извлечете выгоду из изучения Python перед C++.
Все еще хорошо изучить C/C++ из-за его близкого соединения с машиной. Но новый программист может узнать об очень много из исследования в Python.
Преимущество движения от более статического языка до динамического языка состоит в том, чтобы изменить Вашу парадигму программирования - это не вопрос становления "ленивым" так как понимание новых способов выполнить вещи, которые сделают Вас лучше на любом языке.
Я изучил C/C ++, Java, Python & C# в том порядке.
Двумя, которые я на самом деле неизменно заканчиваю тем, что использовал, является C ++ & Python; я нахожу нишевой Java, и C# занимают между ними, чтобы быть слишком узкими для чувства потребности использовать их очень (по крайней мере, для материала, который я делаю).
Я также думаю, что действительно "не получил" функторы C++ и boost::bind
пока я не был подвергнут Python.
Я думаю, что всегда полезно знать несколько языков программирования. Я изучал C ++ в школе и много использовал его в последние годы, потому что это действительно стандарт в отрасли. Я самостоятельно изучил Python и использую его для создания множества хороших инструментов, которые было бы слишком долго писать на C ++. Python очень положительно повлиял на мои навыки программирования на C ++. Это дает другой способ мыслить.
Многие языки очень похожи на другие, но для перехода между империтавным и функциональным / динамическим и статическим / объектным и процедурным языками вам необходимо научиться думать в рамках ограничений языка, которым вы являетесь. с помощью. Поскольку большинство проектов длится по крайней мере несколько недель, это обычно не проблема после первых нескольких дней.
Вам будет труднее переключиться с языка + среды, которая вам нравится, во внеурочное время / хобби.
C ++, Java, C #, Delphi => в основном та же парадигма - вы быстро узнаете, как использовать возможности конкретного языка и перенимать концепции из один синтаксис к другому. Это в основном тот же образ мышления, Самым большим исключением является то, как вы относитесь к управлению памятью.
Python - хороший язык, стратегически лучший выбор, чем ruby, хотя есть и другие аспекты ruby, которые можно утверждать как лучшие. Что делает python хорошим выбором, так это наличие формального языкового тела, которое обеспечивает совместимость сред Python на разных платформах друг с другом.
Если вам интересно, прочтите это http://cmdematos.com/?p = 120
о стратегическом выборе языка.