r - R中的数据排列
问题描述
我的数据集看起来像这样
destaddr:192.168.0 srcaddr:231.19.0.1 protocol:8
destaddr:192.168.0 srcaddr:231.19.0.1 protocol:8
destaddr:192.168.0 srcaddr:231.19.0.1 protocol:8
我希望我的数据集在 rstudio 中采用这种形式:
destaddr srcaddr protocol
192.168.0 231.19.0.1 8
192.168.0 231.19.0.1 8
192.168.0 231.19.0.1 8
解决方案
欢迎来到 SO!使用 base R
,替换字母和 " :
" 什么都没有,创建data.frame
这样的东西怎么样:
new_df <- data.frame (
destadd = gsub('[a-z]+:', '', df$V1),
srcaddr = gsub('[a-z]+:', '', df$V2),
protocol= gsub('[a-z]+:', '', df$V3)
)
new_df
destadd srcaddr protocol
1 192.168.0 231.19.0.1 8
2 192.168.0 231.19.0.1 8
3 192.168.0 231.19.0.1 8
或者,您可以使用 Ankur Sinha 在评论中的建议使其更短:
new_df <- as.data.frame(lapply(df, function(x) gsub("[a-z]+:","", x)))
colnames(new_df) <- c('destaddr','srcaddr','protocol')
有数据:
df <- read.table(text = 'destaddr:192.168.0 srcaddr:231.19.0.1 protocol:8
destaddr:192.168.0 srcaddr:231.19.0.1 protocol:8
destaddr:192.168.0 srcaddr:231.19.0.1 protocol:8', header = F)
推荐阅读
- python - 使用 BeautifulSoup 查找和删除内容
- c++ - 存储上一个模板参数
- python - 将日期和日期时间的熊猫列转换为日期
- javascript - 我想打印页面并默认选中背景图形复选框
- python - 在 Python 中使用 Dedupe 时无法导入名称“TypedDict”错误
- r - converting to date format in dataframe in R
- api - 如何为 Imgur API 的搜索端点设置多个查询参数
- python - 将大量 python 列表转换为 pandas 数据框
- macos - macOS10.15+系统扩展和DriverKit如何开发读盘驱动
- php - 用其他字符写的单词有问题